|
From: <de...@us...> - 2012-09-10 21:59:49
|
Revision: 7618
http://fudaa.svn.sourceforge.net/fudaa/?rev=7618&view=rev
Author: deniger
Date: 2012-09-10 21:59:42 +0000 (Mon, 10 Sep 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxe.java
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxeConfigureTarget.java
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxeVerticalPersist.java
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbe.java
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbePersist.java
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbePersistBuilder.java
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGGraphe.java
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGLegendPanelManager.java
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGRepere.java
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableGraphePanel.java
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceBox.java
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxe.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxe.java 2012-09-10 06:19:34 UTC (rev 7617)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxe.java 2012-09-10 21:59:42 UTC (rev 7618)
@@ -90,6 +90,8 @@
protected boolean isExtremiteDessinee_;
protected boolean isTitreCentre_ = true;
protected TickIterator reuseIterator_;
+
+ protected Object key;
public EGAxe() {
titre_ = "";
@@ -101,6 +103,16 @@
initDisplayValues();
}
+ public Object getKey() {
+ return key;
+ }
+
+ public void setKey(Object key) {
+ this.key = key;
+ }
+
+
+
public final void initDisplayValues() {
if (traceGraduations_ == null) {
traceGraduations_ = new TraceLigneModel(TraceLigne.TIRETE, 1, Color.black);
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxeConfigureTarget.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxeConfigureTarget.java 2012-09-10 06:19:34 UTC (rev 7617)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxeConfigureTarget.java 2012-09-10 21:59:42 UTC (rev 7618)
@@ -30,11 +30,12 @@
* @version $Id: EGAxeConfigureTarget.java,v 1.3 2007-05-22 14:19:05 deniger Exp $
*/
public abstract class EGAxeConfigureTarget implements BSelecteurTargetInterface,
- BConfigurableInterface {
+ BConfigurableInterface {
protected static class AffichageConfigurator extends EGAxeConfigureTarget {
private final class ItemLineUpdater implements ItemListener {
+
private final JToggleButton cb;
private final BSelecteurLineModel line;
@@ -59,6 +60,9 @@
public BSelecteurInterface[] createSelecteurs() {
final List res = new ArrayList();
+ if (target_ == null) {
+ return new BSelecteurInterface[0];
+ }
BSelecteurCheckBox cb;
cb = new BSelecteurCheckBox(BSelecteurCheckBox.PROP_VISIBLE, EbliLib.getS("Axe Visible"));
res.add(cb);
@@ -99,39 +103,80 @@
}
public Object getProperty(final String _key) {
- if (_key == BSelecteurColorChooser.DEFAULT_PROPERTY) { return target_.getLineColor(); }
- if (_key == BSelecteurReduitFonteNewVersion.PROPERTY) { return target_.getFont(); }
- if (_key == EGAxeVertical.PROP_DROITE) { return Boolean.valueOf(((EGAxeVertical) target_).isDroite()); }
- if (_key == EGAxe.PROP_GRADUATIONS) { return Boolean.valueOf(target_.isGraduations()); }
- if (_key == EGAxe.PROP_EXTREMITE_VISIBLE) { return Boolean.valueOf(target_.isExtremiteDessinee()); }
- if (_key == BSelecteurCheckBox.PROP_VISIBLE) { return Boolean.valueOf(target_.isVisible()); }
- if (_key == EGAxe.PROP_IS_GRID_GRADUATIONS_PAINTED) { return Boolean.valueOf(target_.isTraceGrille()); }
- if (_key == EGAxe.PROP_IS_GRID_SOUS_GRADUATIONS_PAINTED) { return Boolean.valueOf(target_.isTraceSousGrille()); }
- if (_key == EGAxe.PROP_TRACE_GRADUATIONS) { return target_.getTraceGraduations(); }
- if (_key == EGAxe.PROP_TRACE_SOUS_GRADUATIONS) { return target_.getTraceSousGraduations(); }
+ if (_key == BSelecteurColorChooser.DEFAULT_PROPERTY) {
+ return target_.getLineColor();
+ }
+ if (_key == BSelecteurReduitFonteNewVersion.PROPERTY) {
+ return target_.getFont();
+ }
+ if (_key == EGAxeVertical.PROP_DROITE) {
+ return Boolean.valueOf(((EGAxeVertical) target_).isDroite());
+ }
+ if (_key == EGAxe.PROP_GRADUATIONS) {
+ return Boolean.valueOf(target_.isGraduations());
+ }
+ if (_key == EGAxe.PROP_EXTREMITE_VISIBLE) {
+ return Boolean.valueOf(target_.isExtremiteDessinee());
+ }
+ if (_key == BSelecteurCheckBox.PROP_VISIBLE) {
+ return Boolean.valueOf(target_.isVisible());
+ }
+ if (_key == EGAxe.PROP_IS_GRID_GRADUATIONS_PAINTED) {
+ return Boolean.valueOf(target_.isTraceGrille());
+ }
+ if (_key == EGAxe.PROP_IS_GRID_SOUS_GRADUATIONS_PAINTED) {
+ return Boolean.valueOf(target_.isTraceSousGrille());
+ }
+ if (_key == EGAxe.PROP_TRACE_GRADUATIONS) {
+ return target_.getTraceGraduations();
+ }
+ if (_key == EGAxe.PROP_TRACE_SOUS_GRADUATIONS) {
+ return target_.getTraceSousGraduations();
+ }
return null;
}
public boolean doSetProperty(final String _key, final Object _newProp) {
- if (_key == BSelecteurReduitFonteNewVersion.PROPERTY) { return target_.setFont((Font) _newProp); }
- if (_key == BSelecteurColorChooser.DEFAULT_PROPERTY) { return target_.setLineColor((Color) _newProp); }
- if (_key == EGAxe.PROP_TRACE_GRADUATIONS) { return target_.setTraceGraduations((TraceLigneModel) _newProp); }
- if (_key == EGAxe.PROP_TRACE_SOUS_GRADUATIONS) { return target_
- .setTraceSousGraduations((TraceLigneModel) _newProp); }
+ if (_key == BSelecteurReduitFonteNewVersion.PROPERTY) {
+ return target_.setFont((Font) _newProp);
+ }
+ if (_key == BSelecteurColorChooser.DEFAULT_PROPERTY) {
+ return target_.setLineColor((Color) _newProp);
+ }
+ if (_key == EGAxe.PROP_TRACE_GRADUATIONS) {
+ return target_.setTraceGraduations((TraceLigneModel) _newProp);
+ }
+ if (_key == EGAxe.PROP_TRACE_SOUS_GRADUATIONS) {
+ return target_
+ .setTraceSousGraduations((TraceLigneModel) _newProp);
+ }
final boolean booleanValue = ((Boolean) _newProp).booleanValue();
- if (_key == EGAxe.PROP_IS_GRID_GRADUATIONS_PAINTED) { return target_.setTraceGrille(booleanValue); }
- if (_key == EGAxe.PROP_IS_GRID_SOUS_GRADUATIONS_PAINTED) { return target_.setTraceSousGrille(booleanValue); }
- if (_key == EGAxe.PROP_IS_GRID_SOUS_GRADUATIONS_PAINTED) { return target_.setGraduations(booleanValue); }
- if (_key == BSelecteurCheckBox.PROP_VISIBLE) { return target_.setVisible(booleanValue); }
+ if (_key == EGAxe.PROP_IS_GRID_GRADUATIONS_PAINTED) {
+ return target_.setTraceGrille(booleanValue);
+ }
+ if (_key == EGAxe.PROP_IS_GRID_SOUS_GRADUATIONS_PAINTED) {
+ return target_.setTraceSousGrille(booleanValue);
+ }
+ if (_key == EGAxe.PROP_IS_GRID_SOUS_GRADUATIONS_PAINTED) {
+ return target_.setGraduations(booleanValue);
+ }
+ if (_key == BSelecteurCheckBox.PROP_VISIBLE) {
+ return target_.setVisible(booleanValue);
+ }
- if (_key == EGAxeVertical.PROP_DROITE) { return ((EGAxeVertical) target_).setDroite(booleanValue); }
- if (_key == EGAxe.PROP_GRADUATIONS) { return target_.setGraduations(booleanValue); }
- if (_key == EGAxe.PROP_EXTREMITE_VISIBLE) { return target_.setExtremiteDessinee(booleanValue); }
+ if (_key == EGAxeVertical.PROP_DROITE) {
+ return ((EGAxeVertical) target_).setDroite(booleanValue);
+ }
+ if (_key == EGAxe.PROP_GRADUATIONS) {
+ return target_.setGraduations(booleanValue);
+ }
+ if (_key == EGAxe.PROP_EXTREMITE_VISIBLE) {
+ return target_.setExtremiteDessinee(booleanValue);
+ }
return false;
}
-
}
protected static class TitleConfigure extends EGAxeConfigureTarget {
@@ -141,6 +186,9 @@
}
public BSelecteurInterface[] createSelecteurs() {
+ if (target_ == null) {
+ return new BSelecteurInterface[0];
+ }
final List res = new ArrayList();
BSelecteurCheckBox cb = new BSelecteurCheckBox(EGAxe.PROP_TITLE_VISIBLE);
cb.setTitle(EbliLib.getS("Titre visible"));
@@ -166,46 +214,61 @@
final JToggleButton cbCentered = cb.getCb();
final JToggleButton cbDroite = cbVerticalDroite.getCb();
cbVertical.getCb().addItemListener(new ItemListener() {
-
public void itemStateChanged(final ItemEvent _e) {
cbCentered.setEnabled(cbVert.isSelected());
cbDroite.setEnabled(cbVert.isSelected());
}
-
});
}
return (BSelecteurInterface[]) res.toArray(new BSelecteurInterface[res.size()]);
}
public Object getProperty(final String _key) {
- if (_key == EGAxe.PROP_TITLE_VISIBLE) { return Boolean.valueOf(target_.isTitreVisible()); }
- if (_key == EGAxe.PROP_UNIT_VISIBLE) { return Boolean.valueOf(target_.isUniteVisible()); }
- if (_key == EGAxe.PROP_TITLE_CENTERED) { return Boolean.valueOf(target_.isTitreCentre()); }
- if (_key == EGAxeVertical.PROP_TITLE_VERTICAL) { return Boolean.valueOf(((EGAxeVertical) target_)
- .isTitreVertical()); }
- if (_key == EGAxeVertical.PROP_TITLE_VERTICAL_DROITE) { return Boolean.valueOf(((EGAxeVertical) target_)
- .isTitreVerticalDroite()); }
+ if (_key == EGAxe.PROP_TITLE_VISIBLE) {
+ return Boolean.valueOf(target_.isTitreVisible());
+ }
+ if (_key == EGAxe.PROP_UNIT_VISIBLE) {
+ return Boolean.valueOf(target_.isUniteVisible());
+ }
+ if (_key == EGAxe.PROP_TITLE_CENTERED) {
+ return Boolean.valueOf(target_.isTitreCentre());
+ }
+ if (_key == EGAxeVertical.PROP_TITLE_VERTICAL) {
+ return Boolean.valueOf(((EGAxeVertical) target_)
+ .isTitreVertical());
+ }
+ if (_key == EGAxeVertical.PROP_TITLE_VERTICAL_DROITE) {
+ return Boolean.valueOf(((EGAxeVertical) target_)
+ .isTitreVerticalDroite());
+ }
return null;
}
public boolean doSetProperty(final String _key, final Object _newProp) {
final boolean b = ((Boolean) _newProp).booleanValue();
- if (_key == EGAxe.PROP_TITLE_VISIBLE) { return target_.setTitreVisible(b); }
- if (_key == EGAxe.PROP_UNIT_VISIBLE) { return target_.setUniteVisible(b); }
- if (_key == EGAxeVertical.PROP_TITLE_VERTICAL) { return ((EGAxeVertical) target_).setTitreVertical(b); }
- if (_key == EGAxeVertical.PROP_TITLE_VERTICAL_DROITE) { return ((EGAxeVertical) target_)
- .setTitreVerticalDroite(b); }
- if (_key == EGAxe.PROP_TITLE_CENTERED) { return target_.setTitreCentre(b); }
+ if (_key == EGAxe.PROP_TITLE_VISIBLE) {
+ return target_.setTitreVisible(b);
+ }
+ if (_key == EGAxe.PROP_UNIT_VISIBLE) {
+ return target_.setUniteVisible(b);
+ }
+ if (_key == EGAxeVertical.PROP_TITLE_VERTICAL) {
+ return ((EGAxeVertical) target_).setTitreVertical(b);
+ }
+ if (_key == EGAxeVertical.PROP_TITLE_VERTICAL_DROITE) {
+ return ((EGAxeVertical) target_)
+ .setTitreVerticalDroite(b);
+ }
+ if (_key == EGAxe.PROP_TITLE_CENTERED) {
+ return target_.setTitreCentre(b);
+ }
return false;
}
-
}
-
final EGParent dispatcher_;
final EGAxe target_;
-
final String title_;
public EGAxeConfigureTarget(final EGAxe _target, final EGParent _dispatcher, final String _title) {
@@ -215,7 +278,8 @@
title_ = _title;
}
- public void addPropertyChangeListener(final String _key, final PropertyChangeListener _l) {}
+ public void addPropertyChangeListener(final String _key, final PropertyChangeListener _l) {
+ }
public Object getMin(final String _key) {
return getProperty(_key);
@@ -248,9 +312,9 @@
}
public void removePropertyChangeListener(final String _key, final PropertyChangeListener _l) {
- // target_.removeListener(_key, _l);
+ // target_.removeListener(_key, _l);
}
- public void stopConfiguration() {}
-
+ public void stopConfiguration() {
+ }
}
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxeVerticalPersist.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxeVerticalPersist.java 2012-09-10 06:19:34 UTC (rev 7617)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGAxeVerticalPersist.java 2012-09-10 21:59:42 UTC (rev 7618)
@@ -7,122 +7,128 @@
import org.fudaa.ebli.trace.TraceLigne;
import org.fudaa.ebli.trace.TraceLigneModel;
-
/**
* Classe persistante des axe verticaux
+ *
* @author Adrien Hadoux
*
*/
public class EGAxeVerticalPersist {
- boolean droite;
- boolean titreVertical;
- boolean titreVerticalDroite;
- String titre;
- boolean titreVisible = true;
- String unite;
- boolean visible;
- Font font;
- boolean graduations;
- TraceLigne grille;
- boolean isIteratorUptodate;
- Color lineColor;
- CtuluRange range;
- /**
- * Booleen qui indique si l'on trace ou non la graduation
- */
- boolean traceGrille_=false;
-
- /**
- * Booleen qui indique si l'on trcae
- */
- boolean traceSousGrille_=false;
-
- TraceLigneModel traceGraduations_=null;
- TraceLigneModel traceSousGraduations_=null;
- /**
- * Mode nb graduations
- */
- int nbPas_;
-
- /**
- * Mode on donne la longueur des pas
- */
- double longueurPas_;
- /**
- * le mode de graduation
- */
- int modeGraduations_;
+ boolean droite;
+ boolean titreVertical;
+ boolean titreVerticalDroite;
+ String titre;
+ boolean titreVisible = true;
+ String unite;
+ boolean visible;
+ Font font;
+ boolean graduations;
+ TraceLigne grille;
+ boolean isIteratorUptodate;
+ Color lineColor;
+ CtuluRange range;
+ /**
+ * Booleen qui indique si l'on trace ou non la graduation
+ */
+ boolean traceGrille_ = false;
+ /**
+ * Booleen qui indique si l'on trcae
+ */
+ boolean traceSousGrille_ = false;
+ TraceLigneModel traceGraduations_ = null;
+ TraceLigneModel traceSousGraduations_ = null;
+ /**
+ * Mode nb graduations
+ */
+ int nbPas_;
+ /**
+ * Mode on donne la longueur des pas
+ */
+ double longueurPas_;
+ /**
+ * le mode de graduation
+ */
+ int modeGraduations_;
+ int nbSousGraduations_;
+ private boolean isExtremiteDessinee_;
- int nbSousGraduations_;
- private boolean isExtremiteDessinee_;
-
- public EGAxeVerticalPersist(EGAxeVertical axeY) {
- // TODO Auto-generated constructor stub
- fillInfoWith(axeY);
- }
-
- private void fillInfoWith(EGAxeVertical axeY ){
- this.droite = axeY.droite_;
- this.titreVertical = axeY.titreVertical_;
- this.titreVerticalDroite = axeY.titreVerticalDroite_;
- this.titre = axeY.titre_;
- this.titreVisible = axeY.titreVisible_;
- this.unite = axeY.unite_;
- this.visible = axeY.visible_;
- this.font = axeY.font_;
- this.graduations = axeY.graduations_;
+ public EGAxeVerticalPersist(EGAxeVertical axeY) {
+ // TODO Auto-generated constructor stub
+ fillInfoWith(axeY);
+ }
+
+ public boolean isDroite() {
+ return droite;
+ }
+
+ public void setDroite(boolean droite) {
+ this.droite = droite;
+ }
+
+ private void fillInfoWith(EGAxeVertical axeY) {
+ this.droite = axeY.droite_;
+ this.titreVertical = axeY.titreVertical_;
+ this.titreVerticalDroite = axeY.titreVerticalDroite_;
+ this.titre = axeY.titre_;
+ this.titreVisible = axeY.titreVisible_;
+ this.unite = axeY.unite_;
+ this.visible = axeY.visible_;
+ this.font = axeY.font_;
+ this.graduations = axeY.graduations_;
// this.grille = axeY.grille_;
- this.isIteratorUptodate = axeY.isIteratorUptodate_;
- this.lineColor = axeY.lineColor_;
-
- //-- persistance grilles et sous grilles --//
- traceGrille_=axeY.traceGrille_;
- traceSousGrille_=axeY.traceSousGrille_;
- traceGraduations_=axeY.traceGraduations_;
- if(traceGraduations_==null && grille!=null){
- axeY.traceSousGraduations_=grille.getModel();
+ this.isIteratorUptodate = axeY.isIteratorUptodate_;
+ this.lineColor = axeY.lineColor_;
+
+ //-- persistance grilles et sous grilles --//
+ traceGrille_ = axeY.traceGrille_;
+ traceSousGrille_ = axeY.traceSousGrille_;
+ traceGraduations_ = axeY.traceGraduations_;
+ if (traceGraduations_ == null && grille != null) {
+ axeY.traceSousGraduations_ = grille.getModel();
}
- traceSousGraduations_=axeY.traceSousGraduations_;
- nbPas_=axeY.nbPas_;
- longueurPas_=axeY.longueurPas_;
- modeGraduations_=axeY.getModeGraduations();
- nbSousGraduations_=axeY.nbSousGraduations_;
- range=axeY.range_;
- isExtremiteDessinee_=axeY.isExtremiteDessinee_;
- }
-
-
-
- public EGAxeVertical generateAxe(){
- EGAxeVertical axeY=new EGAxeVertical();
- axeY.droite_ = this.droite;
- axeY.titreVertical_ = this.titreVertical;
- axeY.titreVerticalDroite_ = this.titreVerticalDroite;
- axeY.titre_ = this.titre;
- axeY.titreVisible_ = this.titreVisible;
- axeY.unite_ = this.unite;
- axeY.visible_ = this.visible;
- axeY.font_ = this.font;
- axeY.isExtremiteDessinee_=this.isExtremiteDessinee_;
- axeY.graduations_ = this.graduations;
+ traceSousGraduations_ = axeY.traceSousGraduations_;
+ nbPas_ = axeY.nbPas_;
+ longueurPas_ = axeY.longueurPas_;
+ modeGraduations_ = axeY.getModeGraduations();
+ nbSousGraduations_ = axeY.nbSousGraduations_;
+ range = axeY.range_;
+ isExtremiteDessinee_ = axeY.isExtremiteDessinee_;
+ }
+
+ public void apply(EGAxeVertical axeY) {
+ axeY.droite_ = this.droite;
+ axeY.titreVertical_ = this.titreVertical;
+ axeY.titreVerticalDroite_ = this.titreVerticalDroite;
+ axeY.titre_ = this.titre;
+ axeY.titreVisible_ = this.titreVisible;
+ axeY.unite_ = this.unite;
+ axeY.visible_ = this.visible;
+ axeY.font_ = this.font;
+ axeY.isExtremiteDessinee_ = this.isExtremiteDessinee_;
+ axeY.graduations_ = this.graduations;
// axeY.grille_ = this.grille;
- axeY.isIteratorUptodate_ = this.isIteratorUptodate;
- axeY.lineColor_ = this.lineColor;
-
- //-- persistance grilles et sous grilles --//
- axeY.traceGrille_=traceGrille_;
- axeY.traceSousGrille_=traceSousGrille_;
- axeY.traceGraduations_=traceGraduations_;
- axeY.traceSousGraduations_=traceSousGraduations_;
- axeY.nbPas_=nbPas_;
- axeY.longueurPas_=longueurPas_;
- axeY.setModeGraduations(modeGraduations_);
- axeY.nbSousGraduations_=nbSousGraduations_;
- if(range!=null)
- axeY.range_.initWith(range);
- axeY.initDisplayValues();
- return axeY;
- }
-
+ axeY.isIteratorUptodate_ = this.isIteratorUptodate;
+ axeY.lineColor_ = this.lineColor;
+
+ //-- persistance grilles et sous grilles --//
+ axeY.traceGrille_ = traceGrille_;
+ axeY.traceSousGrille_ = traceSousGrille_;
+ axeY.traceGraduations_ = traceGraduations_;
+ axeY.traceSousGraduations_ = traceSousGraduations_;
+ axeY.nbPas_ = nbPas_;
+ axeY.longueurPas_ = longueurPas_;
+ axeY.setModeGraduations(modeGraduations_);
+ axeY.nbSousGraduations_ = nbSousGraduations_;
+ if (range != null) {
+ axeY.range_.initWith(range);
+ }
+ axeY.initDisplayValues();
+ }
+
+ public EGAxeVertical generateAxe() {
+ EGAxeVertical axeY = new EGAxeVertical();
+ apply(axeY);
+ return axeY;
+ }
}
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbe.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbe.java 2012-09-10 06:19:34 UTC (rev 7617)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbe.java 2012-09-10 21:59:42 UTC (rev 7618)
@@ -52,6 +52,7 @@
import org.fudaa.ebli.trace.TraceLigneModel;
import com.vividsolutions.jts.geom.Envelope;
+import java.awt.Rectangle;
/**
* Cette Courbe suppose que tous les x du mod\xE8le sont rang\xE9es dans l'ordre croissant.
@@ -78,7 +79,7 @@
final TraceIconModel iconeModel_;
EGCourbeSurfacePainter surfacePainter_;
TraceBox tbox_;
- TraceBox tboxLabels_;
+ protected TraceBox tboxLabels_;
/**
* @param _model le model a prendre en compte
@@ -131,7 +132,7 @@
}
}
- private void initLabelsTraceBox(Color _c) {
+ protected void initLabelsTraceBox(Color _c) {
if (tboxLabels_ == null) {
tboxLabels_ = new TraceBox();
tboxLabels_.setColorFond(Color.WHITE);
@@ -200,7 +201,7 @@
tbox_.setColorBoite(marqueur.model_.getCouleur());
// -- tracer marqueurs horitzontaux --//
- if (axeY.containsPoint(marqueur.getValue()) && marqueur.isVisible() && marqueur.traceHorizontal_) {
+ if (axeY != null && axeY.containsPoint(marqueur.getValue()) && marqueur.isVisible() && marqueur.traceHorizontal_) {
final int yie = _t.getYEcran(marqueur.getValue(), axeY);
int x = xmin + 3;
final String str;
@@ -487,13 +488,23 @@
}
// Les labels ont m\xEAme couleur que la courbe.
initLabelsTraceBox(trLigne.getCouleur());
+ Rectangle view = new Rectangle();
+ view.x = _t.getMinEcranX();
+ view.y = 0;
+ view.height = _t.getH();
+ view.width = _t.getW();
for (int i = 0; i < nbPt; i++) {
xi = model_.getX(i);
yi = model_.getY(i);
xie = _t.getXEcran(xi);
- yie = _t.getYEcran(yi, getAxeY());
+ if (getAxeY() == null) {
+ yie = getYEcranForAxeYNull(yi, _t);
+ yiVisible = true;
+ } else {
+ yie = _t.getYEcran(yi, getAxeY());
+ yiVisible = getAxeY().containsPoint(yi);
+ }
xiVisible = _t.getXAxe().containsPoint(xi);
- yiVisible = getAxeY().containsPoint(yi);
if (model_.isPointDrawn(i) && xiVisible && yiVisible) {
// Paint point label
@@ -517,8 +528,8 @@
} else {
yBox = ((int) yie) + 10;
}
- // Paint
- tboxLabels_.paintBox(_g, xBox, yBox, pLabel);
+
+ paintLabelBox(i, _g, xBox, yBox, pLabel, _t, view);
}
}
// Paint point
@@ -543,15 +554,9 @@
paintSurface(_g, _t, i);
if (!nuagePoints_) {
- // -- attention si le point depasse de l'\xE9cran il faut dessinner le trait jusqu'\xE0 la limite de l'axe--//
- double newyi = Math.min(yi, getAxeY().getMaximum());
- newyi = Math.max(newyi, getAxeY().getMinimum());
- double newyie = _t.getYEcran(newyi, getAxeY());
+ double newyie = getYEcran(yi, _t);
+ double newyie2 = getYEcran(ypeVal, _t);
- double newyi2 = Math.min(ypeVal, getAxeY().getMaximum());
- newyi2 = Math.max(newyi2, getAxeY().getMinimum());
- double newyie2 = _t.getYEcran(newyi2, getAxeY());
-
trLigne.dessineTrait(_g, xie, newyie, xpe, newyie2);
} else {
@@ -1182,4 +1187,32 @@
this.getAxeY().ajusteFor(this);
this.getAxeX().setBounds(getXMin(), getXMax());
}
+
+ public double getYEcran(double yi, final EGRepere _t) {
+ if (getAxeY() == null) {
+ return getYEcranForAxeYNull(yi, _t);
+ }
+ // -- attention si le point depasse de l'\xE9cran il faut dessinner le trait jusqu'\xE0 la limite de l'axe--//
+ double newyi = Math.min(yi, getAxeY().getMaximum());
+ newyi = Math.max(newyi, getAxeY().getMinimum());
+ double newyie = _t.getYEcran(newyi, getAxeY());
+ return newyie;
+ }
+
+ public double getYEcranForAxeYNull(double yi, final EGRepere _t) {
+ double yie;
+ double ratio = Math.min(1, Math.max(0, yi));
+ if (ratio >= 1) {
+ yie = _t.getMaxEcranY();
+ } else if (ratio <= 0) {
+ yie = _t.getMinEcranY();
+ } else {
+ yie = _t.getMinEcranY() + (_t.getMaxEcranY() - _t.getMinEcranY()) * ratio;
+ }
+ return yie;
+ }
+
+ protected void paintLabelBox(int i, final Graphics2D _g, int xBox, int yBox, String pLabel, final EGRepere _t, Rectangle view) {
+ tboxLabels_.paintBox(_g, xBox, yBox, pLabel, view);
+ }
}
\ No newline at end of file
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbePersist.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbePersist.java 2012-09-10 06:19:34 UTC (rev 7617)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbePersist.java 2012-09-10 21:59:42 UTC (rev 7618)
@@ -47,10 +47,38 @@
EGCourbeSurfacePersist surfacePainter;
// -- inverse ou non les x et y --//
boolean inverse = false;
+ boolean displayLabels=false;
+ boolean displayTitle=false;
public EGCourbePersist() {
}
+ public TraceLigneModel getLineModel_() {
+ return lineModel_;
+ }
+
+ public void setLineModel(TraceLigneModel lineModel_) {
+ this.lineModel_ = lineModel_;
+ }
+
+ public boolean isDisplayLabels() {
+ return displayLabels;
+ }
+
+ public void setDisplayLabels(boolean displayLabels) {
+ this.displayLabels = displayLabels;
+ }
+
+ public boolean isDisplayTitle() {
+ return displayTitle;
+ }
+
+ public void setDisplayTitle(boolean displayTitle) {
+ this.displayTitle = displayTitle;
+ }
+
+
+
public String getTitle() {
return title_;
}
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbePersistBuilder.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbePersistBuilder.java 2012-09-10 06:19:34 UTC (rev 7617)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbePersistBuilder.java 2012-09-10 21:59:42 UTC (rev 7618)
@@ -29,7 +29,7 @@
* @param log
*/
@Override
- protected void postRestore(EGCourbe egObject, EGCourbePersist persist, Map params, CtuluAnalyze log) {
+ protected void postRestore(EGCourbe egObject, EGCourbePersist persist, Map params, CtuluAnalyze log) {
initGraphicConfiguration(egObject, persist);
egObject.setTitle(persist.getTitle());
if (persist.inverse) {
@@ -37,7 +37,6 @@
}
}
-
public boolean saveXY() {
return true;
}
@@ -111,6 +110,8 @@
if (persist.listeMarqueurs_ != null) {
courbeToModify.setMarqueurs(persist.listeMarqueurs_);
}
+ courbeToModify.setDisplayPointLabels(persist.displayLabels);
+ courbeToModify.setDisplayTitleOnCurve(persist.displayTitle);
}
public final static String X_KEY = "X";
@@ -165,6 +166,8 @@
res.listeMarqueurs_ = courbe.getMarqueurs();
res.inverse = courbe.isInverse;
+ res.displayLabels = courbe.displayPointLabels_;
+ res.displayTitle = courbe.displayTitleOnCurve_;
}
}
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGGraphe.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGGraphe.java 2012-09-10 06:19:34 UTC (rev 7617)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGGraphe.java 2012-09-10 21:59:42 UTC (rev 7618)
@@ -285,6 +285,9 @@
final EGObject o = model.getEGObject(i);
if ((getObject(i).isVisible()) && (o.isSomethingToDisplay())) {
final EGAxeVertical axe = getObject(i).getAxeY();
+ if(axe==null){
+ continue;
+ }
if (axe.isVisible() && !axeSet.contains(axe)) {
axeSet.add(axe);
@@ -390,7 +393,7 @@
// on part dans l'autre sens pour les axe
for (int i = 0; i < nbElement; i++) {
final EGObject g = model.getEGObject(i);
- if (!g.isVisible() || !g.isSomethingToDisplay()) {
+ if (g.getAxeY()==null||!g.isVisible() || !g.isSomethingToDisplay()) {
continue;
}
if (!axeOffset_.containsKey(g.getAxeY())) {
@@ -606,6 +609,9 @@
for (final Iterator it = axeYRange.entrySet().iterator(); it.hasNext();) {
final Map.Entry e = (Map.Entry) it.next();
final EGAxeVertical axeY = (EGAxeVertical) e.getKey();
+ if(axeY==null){
+ continue;
+ }
final CtuluRange r = (CtuluRange) e.getValue();
if (Double.isNaN(r.max_) || Double.isInfinite(r.max_) || (r.max_ <= -Double.MAX_VALUE)) {
r.max_ = 0;
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGLegendPanelManager.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGLegendPanelManager.java 2012-09-10 06:19:34 UTC (rev 7617)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGLegendPanelManager.java 2012-09-10 21:59:42 UTC (rev 7618)
@@ -15,17 +15,17 @@
* @author Frederic Deniger
*/
public class EGLegendPanelManager extends MouseAdapter implements EGGrapheModelListener {
-
+
JPanel panel;
EGGraphe graphe;
-
+
void createPanel() {
panel = new JPanel(new BuGridLayout(1, 1, 3, true, true));
panel.setOpaque(false);
panel.setDoubleBuffered(false);
rebuild();
}
-
+
@Override
public void mouseClicked(MouseEvent e) {
if (graphe == null) {
@@ -39,10 +39,10 @@
pnLegend.selectCourbe((EGCourbe) clientProperty);
pnLegend.afficheModale(panel);
}
-
+
}
}
-
+
public void setGraphe(EGGraphe graphe) {
if (this.graphe != null) {
this.graphe.getModel().removeModelListener(this);
@@ -57,60 +57,63 @@
}
}
boolean editable = true;
-
+
public boolean isEditable() {
return editable;
}
-
+
public void setEditable(boolean editable) {
this.editable = editable;
}
-
+
@Override
public void structureChanged() {
rebuild();
}
-
+
@Override
public void courbeContentChanged(EGObject _c, boolean _mustRestore) {
}
-
+
@Override
public void courbeAspectChanged(EGObject _c, boolean _visibil) {
rebuild();
}
-
+
@Override
public void axeContentChanged(EGAxe _c) {
}
-
+
@Override
public void axeAspectChanged(EGAxe _c) {
}
-
+
public EGGraphe getGraphe() {
return graphe;
}
-
+
public JPanel getPanel() {
if (panel == null) {
createPanel();
}
return panel;
}
-
+
private void rebuild() {
panel.removeAll();
panel.setDoubleBuffered(false);
EGCourbe[] courbes = graphe.getModel().getCourbes();
- for (EGCourbe eGCourbe : courbes) {
+ for (EGCourbe courbe : courbes) {
+ if (!courbe.isVisible_) {
+ continue;
+ }
JLabel label = new JLabel();
EGIconForCourbe icon = new EGIconForCourbe();
- icon.updateFromCourbe(eGCourbe);
+ icon.updateFromCourbe(courbe);
label.setIcon(icon);
- label.setText(eGCourbe.getTitle());
- label.setToolTipText(eGCourbe.getTitle());
- label.putClientProperty("COURBE", eGCourbe);
+ label.setText(courbe.getTitle());
+ label.setToolTipText(courbe.getTitle());
+ label.putClientProperty("COURBE", courbe);
label.setOpaque(false);
panel.add(label);
label.addMouseListener(this);
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGRepere.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGRepere.java 2012-09-10 06:19:34 UTC (rev 7617)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGRepere.java 2012-09-10 21:59:42 UTC (rev 7618)
@@ -114,6 +114,12 @@
return h_;
}
+ public int getW() {
+ return w_;
+ }
+
+
+
public EGRepere duplicate(EGGrapheDuplicator _duplicator) {
EGRepere duplic = new EGRepere();
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableGraphePanel.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableGraphePanel.java 2012-09-10 06:19:34 UTC (rev 7617)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableGraphePanel.java 2012-09-10 21:59:42 UTC (rev 7618)
@@ -454,6 +454,12 @@
}
boolean afficheNomCourbe_ = true;
+ public BuLabel getTitleLabel() {
+ return lb_;
+ }
+
+
+
/**
* Initialise tous les composants n\xE9cessaires.
*/
Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceBox.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceBox.java 2012-09-10 06:19:34 UTC (rev 7617)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceBox.java 2012-09-10 21:59:42 UTC (rev 7618)
@@ -11,14 +11,14 @@
import java.awt.Color;
import java.awt.FontMetrics;
import java.awt.Graphics2D;
+import java.awt.Rectangle;
import javax.swing.SwingConstants;
import org.fudaa.ctulu.CtuluLibString;
/**
- * Une classe permettant de tracer un texte \xE0 une position (x,y) donn\xE9e. Le texte peut \xEAtre trac\xE9 : <ul> <li>Centr\xE9/\xE0 gauche/\xE0
- * droite/au milieu/en bas/en haut de la position suivant les constantes {@link SwingConstants}.</li> <li>Avec une d\xE9coration
- * (fond/contour rectangle visible)</li> </ul>
+ * Une classe permettant de tracer un texte \xE0 une position (x,y) donn\xE9e. Le texte peut \xEAtre trac\xE9 : <ul> <li>Centr\xE9/\xE0 gauche/\xE0 droite/au milieu/en
+ * bas/en haut de la position suivant les constantes {@link SwingConstants}.</li> <li>Avec une d\xE9coration (fond/contour rectangle visible)</li> </ul>
*
* @author Fred Deniger
* @version $Id: TraceBox.java,v 1.5 2006-09-19 14:55:49 deniger Exp $
@@ -98,6 +98,10 @@
public int currentWidth_ = -1;
public void paintBox(final Graphics2D _g2d, final int _x, final int _y, final String _s) {
+ paintBox(_g2d, _x, _y, _s, null);
+ }
+
+ public void paintBox(final Graphics2D _g2d, final int _x, final int _y, final String _s, Rectangle view) {
if (traceLigne_ == null) {
traceLigne_ = new TraceLigne();
}
@@ -129,6 +133,12 @@
} else if (vPosition_ == SwingConstants.BOTTOM) {
yTopLeft -= hOuter;
}
+ if (view != null) {
+ xTopLeft = Math.min(view.x + view.width - wOuter, xTopLeft);
+ yTopLeft = Math.min(view.y + view.height - hOuter, yTopLeft);
+ xTopLeft = Math.max(xTopLeft, view.x);
+ yTopLeft = Math.max(yTopLeft, view.y);
+ }
if (drawFond_) {
_g2d.setColor(getColorFond());
_g2d.fillRect(xTopLeft + 1, yTopLeft + 1, wOuter - 2, hOuter - 2);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|