From: <de...@us...> - 2012-11-28 18:51:54
|
Revision: 8085 http://fudaa.svn.sourceforge.net/fudaa/?rev=8085&view=rev Author: deniger Date: 2012-11-28 18:51:46 +0000 (Wed, 28 Nov 2012) Log Message: ----------- Modified Paths: -------------- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbe.java trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/animation/EbliAnimation.java trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActiontextEditor.java trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetControllerGraphe.java trunk/framework/fudaa-common/src/main/resources/org/fudaa/fudaa/ressource/fudaa_en.fr_txt 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-11-28 18:42:28 UTC (rev 8084) +++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbe.java 2012-11-28 18:51:46 UTC (rev 8085) @@ -563,11 +563,17 @@ paintSurface(_g, _t, i); if (!nuagePoints_) { - double newyie = getYEcran(yi, _t); - double newyie2 = getYEcran(ypeVal, _t); + boolean canDraw = true; + if (getAxeY() != null) { + CtuluRange range = getAxeY().getRange(); + canDraw = range.isValueContained(yi) || range.isValueContained(ypeVal); + } + if (canDraw) { + double newyie = getYEcran(yi, _t); + double newyie2 = getYEcran(ypeVal, _t); + trLigne.dessineTrait(_g, xie, newyie, xpe, newyie2); + } - trLigne.dessineTrait(_g, xie, newyie, xpe, newyie2); - } else { // -- trace un + --// // -- ligne | --// @@ -912,6 +918,7 @@ } return res; } + public TDoubleArrayList interpolPoints(final double _x, final EGRepere _rep) { TDoubleArrayList res = new TDoubleArrayList(); if (model_.getNbValues() == 0) { Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/animation/EbliAnimation.java =================================================================== --- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/animation/EbliAnimation.java 2012-11-28 18:42:28 UTC (rev 8084) +++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/animation/EbliAnimation.java 2012-11-28 18:51:46 UTC (rev 8085) @@ -45,7 +45,7 @@ /** * Le composant d'animation, sous forme de palette. Il permet de controler le deroulement de l'animation. - * + * * @author Fred Deniger * @version $Id: EbliAnimation.java,v 1.29 2008-04-22 14:30:27 jm_lacombe Exp $ */ @@ -54,41 +54,23 @@ private final class LauncherPanel extends JPanel implements ActionListener, Observer, ItemListener, DocumentListener { JCheckBox partialTs_; - BuProgressBar bar_; - BuButton btOut_; - BuComboBox cb_; - transient JComboBox cbFirst_; - transient JComboBox cbLast_; - BuComboBox cbOut_; - JCheckBox cbSaveVideo_; - BuToggleButton configure_; - BuLabel lbInfo_; - BuLabel lbSize_; - ComponentListener listener_; - Component old_; - JToggleButton pause_; - BuPanel pnConfigure_; - CtuluImageDimensionChooserPanel pnDimImages_; - JButton start_; - JButton stop_; - BuTextField txtInc_; public LauncherPanel() { @@ -105,12 +87,14 @@ final BuIcon icon = EbliResource.EBLI.getIcon("anim-play.png"); start_ = new JButton(icon); start_.setBorderPainted(false); + start_.setContentAreaFilled(false); start_.setToolTipText(EbliLib.getS("Lancer")); start_.setActionCommand("GOGOGO_ETREGO"); start_.addActionListener(this); pnButton.add(start_); pause_ = new JToggleButton(EbliResource.EBLI.getIcon("anim-pause.png")); pause_.setBorderPainted(false); + pause_.setContentAreaFilled(false); pause_.setToolTipText(EbliLib.getS("Pause")); pause_.setActionCommand("PAUSE"); pause_.addActionListener(this); @@ -118,6 +102,7 @@ pnButton.add(pause_); stop_ = new JButton(EbliResource.EBLI.getIcon("anim-stop.png")); stop_.setBorderPainted(false); + stop_.setContentAreaFilled(false); stop_.setToolTipText(EbliLib.getS("Arr\xEAter")); stop_.setActionCommand("STOP"); stop_.addActionListener(this); @@ -129,7 +114,9 @@ configure_.addItemListener(this); configure_.setHorizontalAlignment(SwingConstants.LEFT); final BuPanel pnConfigure = new BuPanel(new BuButtonLayout(0, SwingConstants.LEFT)); - if (cmpOptions_ != null) pnConfigure.add(cmpOptions_); + if (cmpOptions_ != null) { + pnConfigure.add(cmpOptions_); + } pnConfigure.add(configure_); pnButton.setBorder(new CtuluRoundEtchBorder(30)); lbTitle_ = new JLabel(); @@ -164,7 +151,6 @@ add(pn, BuBorderLayout.SOUTH); srcChanged(); } - JLabel lbTitle_; private void buildConfigure() { @@ -268,16 +254,18 @@ protected ComponentListener getListener() { if (listener_ == null) { listener_ = new ComponentListener() { + public void componentHidden(final ComponentEvent _e) { + } - public void componentHidden(final ComponentEvent _e) {} + public void componentMoved(final ComponentEvent _e) { + } - public void componentMoved(final ComponentEvent _e) {} - public void componentResized(final ComponentEvent _e) { updateSizeLabel(); } - public void componentShown(final ComponentEvent _e) {} + public void componentShown(final ComponentEvent _e) { + } }; } return listener_; @@ -293,7 +281,7 @@ protected void majInfo() { final StringBuffer bf = new StringBuffer(CtuluLibString.ESPACE).append(EbliLib.getS("pas:")).append( - task_.getNbDisplayedAnimStep()); + task_.getNbDisplayedAnimStep()); if (outs_ != null) { for (int i = 0; i < outs_.length; i++) { if (outs_[i].isActivated() && outs_[i].isValid(false) == null) { @@ -307,7 +295,7 @@ } protected void majTimeStep() { - if (task_.getSrc().getNbTimeStep()==0) { + if (task_.getSrc().getNbTimeStep() == 0) { bar_.setToolTipText(""); return; } @@ -356,9 +344,9 @@ ((TimeCbModel) cbLast_.getModel()).updateSelectIdx(); } if (maxStep > 0) { - if ((partialTs_ !=null && !partialTs_.isSelected()) || - (task_.getLastIdx() > maxStep) || (task_.getLastIdx() < 0) || - (task_.getFirstIdx() > maxStep) || (task_.getFirstIdx() < 0)) { + if ((partialTs_ != null && !partialTs_.isSelected()) + || (task_.getLastIdx() > maxStep) || (task_.getLastIdx() < 0) + || (task_.getFirstIdx() > maxStep) || (task_.getFirstIdx() < 0)) { cbFirst_.setSelectedIndex(0); cbLast_.setSelectedIndex(maxStep - 1); txtInc_.setText(CtuluLibString.UN); @@ -448,7 +436,9 @@ parent.pack(); } else { final Window winParent = (Window) SwingUtilities.getAncestorOfClass(Window.class, pn_); - if (winParent != null) winParent.pack(); + if (winParent != null) { + winParent.pack(); + } } } @@ -546,7 +536,6 @@ protected class TimeCbModel extends AbstractListModel implements ComboBoxModel { transient int idx_ = -1; - transient Object select_; public Object getElementAt(final int _index) { @@ -581,8 +570,8 @@ */ public void updateSelectIdx() { if (idx_ >= 0) { - Object old=select_; - select_=null; + Object old = select_; + select_ = null; setSelectedItem(old); } } @@ -595,23 +584,14 @@ public final static int getTimeForAnim(final int _i) { return getOffset() + 500 * _i; } - // JDialog d_; - boolean mustUpdateAfterPlay_; - EbliAnimationSourceInterface newSrc_; - EbliAnimationOutputInterface[] outs_; - LauncherPanel pn_; - TimerTask swingTimer_; - EbliAnimationTask task_; - Timer timerContainer_; - /** * Composant optionel ajouter par l'utilisateur */ @@ -638,16 +618,17 @@ private void createTimer() { if (swingTimer_ == null) { final Runnable r = new Runnable() { - public void run() { - if (task_.isFinished_) { return; } - if (isPaused()) { return; } + if (task_.isFinished_) { + return; + } + if (isPaused()) { + return; + } task_.doAnim(); } - }; swingTimer_ = new TimerTask() { - public void run() { try { EventQueue.invokeAndWait(r); @@ -659,20 +640,18 @@ } } - }; } } // TrIsoModel m_; // SwingRepainter repainter_; - private void updateTitle() { if (pn_ != null) { pn_.lbTitle_ - .setText(EbliLib.getS("animation") + .setText(EbliLib.getS("animation") + (task_.getSrc() == null ? CtuluLibString.EMPTY_STRING : (CtuluLibString.ESPACE + task_.getSrc() - .getTitle()))); + .getTitle()))); } } @@ -694,7 +673,7 @@ } protected void animPause() { - // if (!isPaused() && !task_.isFinished_) swingTimer_.start(); + // if (!isPaused() && !task_.isFinished_) swingTimer_.start(); } protected void animStart() { @@ -761,13 +740,15 @@ timerContainer_.schedule(swingTimer_, 0, pn_.getVitesse()); // createTimer(); } /* - * else swingTimer_ = null; - */ + * else swingTimer_ = null; + */ } public void active() { - if (task_.getSrc() == null) { return; } + if (task_.getSrc() == null) { + return; + } getPanel(); } @@ -781,7 +762,9 @@ } public JToggleButton getConfigureBt() { - if (pn_ != null) { return pn_.configure_; } + if (pn_ != null) { + return pn_.configure_; + } return null; } @@ -838,5 +821,4 @@ updateTitle(); return pn_; } - } Modified: trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt =================================================================== --- trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt 2012-11-28 18:42:28 UTC (rev 8084) +++ trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt 2012-11-28 18:51:46 UTC (rev 8085) @@ -2,9 +2,14 @@ Bloqu\xE9=Blocked Fl\xE8che=Arrow Editer la l\xE9gende=Edit legend +Choisir les sources=Choose views +Impression=Print Editer le calque=Edit view Afficher le temps=Display time informations Nuage de points=Scatter plot +Plein=Filled +Contour=Outline +Invers\xE9=Opposite Rejouer=Recompute Aucune courbe s\xE9lectionn\xE9e=No selected curves Afficher le titre=Display the title @@ -152,7 +157,6 @@ Configurer=Configure Conserver le ratio hauteur/largeur=Preserve width/height ratio Continuer la saisie apr\xE8s un zoom ou un d\xE9placement de vue=Continue typing after zooming or moving on view -Contour=Contour Coord=Coord Coordonn\xE9es=Coordinates Copie de=Copy of Modified: trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java =================================================================== --- trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java 2012-11-28 18:42:28 UTC (rev 8084) +++ trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java 2012-11-28 18:51:46 UTC (rev 8085) @@ -15,13 +15,12 @@ import org.netbeans.api.visual.widget.Widget; /** - * Action qui permet de realiser l alignement des composants. ATTTENTION CHOIX DE CONCEPTION: il faut que les EbliNode - * soit movables (isMovable()== true) pour pouvoir les aligner il faut donc lorss de la creation des nodes remplir les - * infos dimensions et size comme suit: EbliNodeDefault node = new EbliNodeDefault(); node.setCreator(new - * EbliWidgetCreatorGraphe(g)); node.setTitle("Graphe"); node.setPreferedSize(new Dimension(300, 300)); + * Action qui permet de realiser l alignement des composants. ATTTENTION CHOIX DE CONCEPTION: il faut que les EbliNode soit movables (isMovable()== + * true) pour pouvoir les aligner il faut donc lorss de la creation des nodes remplir les infos dimensions et size comme suit: EbliNodeDefault node = + * new EbliNodeDefault(); node.setCreator(new EbliWidgetCreatorGraphe(g)); node.setTitle("Graphe"); node.setPreferedSize(new Dimension(300, 300)); * node.setPreferedLocation(new Point(4, 4)); scene.addNode(node); - * - *@author Adrien Hadoux + * + * @author Adrien Hadoux */ @SuppressWarnings("serial") public abstract class EbliWidgetActionAlign extends EbliWidgetActionFilteredAbstract { @@ -40,10 +39,10 @@ // determiner // la position d'un widget: ily a aussi les bounds int maxY = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).y - + _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).height; + + _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).height; for (final Widget widget : _widgetToMove) { maxY = Math.max(maxY, widget.convertLocalToScene(widget.getBounds()).y - + widget.convertLocalToScene(widget.getBounds()).height); + + widget.convertLocalToScene(widget.getBounds()).height); } final List<Point> newPoints = new ArrayList<Point>(_widgetToMove.size()); for (final Widget widget : _widgetToMove) { @@ -61,14 +60,13 @@ } return newPoints; } - } public static class Center extends EbliWidgetActionAlign { public Center(final EbliScene _scene) { super(_scene, EbliResource.EBLI.getString("Centrer horizontalement"), EbliResource.EBLI.getToolIcon("aocenterv"), - "CENTERV"); + "CENTERV"); } @Override @@ -76,36 +74,35 @@ // TODO A terminer pour centrer horizontalement les widgets // on recupere les coordonnees les plus a gauche - int minx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).y; + int minx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).x; for (final Widget widget : _widgetToMove) { - minx = Math.min(minx, widget.convertLocalToScene(widget.getBounds()).y); + minx = Math.min(minx, widget.convertLocalToScene(widget.getBounds()).x); } // on recupere les coordonnees les plus a droite - int maxx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).y - + _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).height; + int maxx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).x + + _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).width; for (final Widget widget : _widgetToMove) { - maxx = Math.max(maxx, widget.convertLocalToScene(widget.getBounds()).y - + widget.convertLocalToScene(widget.getBounds()).height); + maxx = Math.max(maxx, widget.convertLocalToScene(widget.getBounds()).x + + widget.convertLocalToScene(widget.getBounds()).width); } final List<Point> newPoints = new ArrayList<Point>(_widgetToMove.size()); for (final Widget widget : _widgetToMove) { final Point p = widget.getPreferredLocation(); // toutes les coordonnees changent, elles s alignent entre elles au centre, cf le super logiciel powerpoint - final int oldY = p.x; + final int oldY = p.y; // p.x se trouve a la moyenne des 2 - p.y = (maxx + minx) / 2; + p.x = (maxx + minx) / 2; widget.getParentWidget().convertSceneToLocal(p); // maintenant le p.x contient la position du centre des widgets dans le repere qu'il faut. // // la location final vaut=le point du milieu du dessin - sa taille/2 - sa bordure - p.y = p.y - widget.getBounds().height / 2 - widget.getBounds().y; - p.x = oldY; + p.x = p.x - widget.getBounds().width / 2 - widget.getBounds().x; + p.y = oldY; newPoints.add(p); } return newPoints; } - } public static class Left extends EbliWidgetActionAlign { @@ -141,14 +138,13 @@ } return newPoints; } - } public static class Middle extends EbliWidgetActionAlign { public Middle(final EbliScene _scene) { super(_scene, EbliResource.EBLI.getString("Centrer verticalement"), EbliResource.EBLI.getToolIcon("aocenterh"), - "CENTERH"); + "CENTERH"); } @Override @@ -156,43 +152,42 @@ // TODO A terminer pour centrer horizontalement les widgets // on recupere les coordonnees les plus a gauche - int minx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).x; + int minx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).y; for (final Widget widget : _widgetToMove) { - minx = Math.min(minx, widget.convertLocalToScene(widget.getBounds()).x); + minx = Math.min(minx, widget.convertLocalToScene(widget.getBounds()).y); } // on recupere les coordonnees les plus a droite - int maxx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).x - + _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).width; + int maxx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).y + + _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).height; for (final Widget widget : _widgetToMove) { - maxx = Math.max(maxx, widget.convertLocalToScene(widget.getBounds()).x - + widget.convertLocalToScene(widget.getBounds()).width); + maxx = Math.max(maxx, widget.convertLocalToScene(widget.getBounds()).y + + widget.convertLocalToScene(widget.getBounds()).height); } final List<Point> newPoints = new ArrayList<Point>(_widgetToMove.size()); for (final Widget widget : _widgetToMove) { final Point p = widget.getPreferredLocation(); // toutes les coordonnees changent, elles s alignent entre elles au centre, cf le super logiciel powerpoint - final int oldY = p.y; + final int oldY = p.x; // p.x se trouve a la moyenne des 2 - p.x = (maxx + minx) / 2; + p.y = (maxx + minx) / 2; widget.getParentWidget().convertSceneToLocal(p); // maintenant le p.x contient la position du centre des widgets dans le repere qu'il faut. // // la location final vaut=le point du milieu du dessin - sa taille/2 - sa bordure - p.x = p.x - widget.getBounds().width / 2 - widget.getBounds().x; - p.y = oldY; + p.y = p.y - widget.getBounds().height / 2 - widget.getBounds().y; + p.x = oldY; newPoints.add(p); } return newPoints; } - } public static class Right extends EbliWidgetActionAlign { public Right(final EbliScene _scene) { super(_scene, EbliResource.EBLI.getString("Alignement \xE0 droite"), EbliResource.EBLI.getToolIcon("aoright"), - "RIGHT"); + "RIGHT"); } @Override @@ -203,10 +198,10 @@ // determiner // la position d'un widget: ily a aussi les bounds int maxx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).x - + _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).width; + + _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).width; for (final Widget widget : _widgetToMove) { maxx = Math.max(maxx, widget.convertLocalToScene(widget.getBounds()).x - + widget.convertLocalToScene(widget.getBounds()).width); + + widget.convertLocalToScene(widget.getBounds()).width); } final List<Point> newPoints = new ArrayList<Point>(_widgetToMove.size()); for (final Widget widget : _widgetToMove) { @@ -224,7 +219,6 @@ } return newPoints; } - } public static class Top extends EbliWidgetActionAlign { @@ -260,12 +254,10 @@ } return newPoints; } - } - /** - * - */ + * + */ private static final long serialVersionUID = 1L; public EbliWidgetActionAlign(final EbliScene _scene, final String name, final Icon ic, final String id) { @@ -313,5 +305,4 @@ * @return les nouvelles positions correspondantes aux points pass\xE9s en parametres */ protected abstract List<Point> getNewPositionFor(List<Widget> _widgetToMove); - } Modified: trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActiontextEditor.java =================================================================== --- trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActiontextEditor.java 2012-11-28 18:42:28 UTC (rev 8084) +++ trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActiontextEditor.java 2012-11-28 18:51:46 UTC (rev 8085) @@ -13,7 +13,7 @@ /** * Classe qui genere une widget editeur de texte. TODO a enlever - * + * * @author Adrien Hadoux */ @SuppressWarnings("serial") @@ -29,8 +29,8 @@ // -- creation de la widget et ajout dans la scene --// final EbliNode nodeText = new EbliNodeDefault(); - nodeText.setTitle("Texte"); - final CtuluHtmlEditorPanel editor = new CtuluHtmlEditorPanel("<html><body><font size=4>"+EbliLib.getS("Texte")+"</font></body></html>"); + nodeText.setTitle(EbliLib.getS("Texte")); + final CtuluHtmlEditorPanel editor = new CtuluHtmlEditorPanel("<html><body><font size=4>" + EbliLib.getS("Texte") + "</font></body></html>"); EbliWidgetCreatorTextEditor creator = new EbliWidgetCreatorTextEditor(editor); nodeText.setCreator(creator); @@ -42,5 +42,4 @@ scene_.refresh(); } - } Modified: trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetControllerGraphe.java =================================================================== --- trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetControllerGraphe.java 2012-11-28 18:42:28 UTC (rev 8084) +++ trunk/framework/ebli-visuallibrary/src/main/java/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetControllerGraphe.java 2012-11-28 18:51:46 UTC (rev 8085) @@ -30,6 +30,7 @@ import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.ebli.commun.EbliComponentFactory; +import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.controle.BSelecteurListComboBox; import org.fudaa.ebli.courbe.EGActionAfficheOrigineCourbe; import org.fudaa.ebli.courbe.EGActionReplayDataCourbe; @@ -149,7 +150,7 @@ // -- nom de la legende --// EbliNode nodeLegende = new EbliNodeDefault(); - nodeLegende.setTitle("L\xE9gende " + (indiceLegende++)); + nodeLegende.setTitle(EbliLib.getS("L\xE9gende")+" " + (indiceLegende++)); final EbliWidgetCreatorLegende creator = new EbliWidgetCreatorLegende(widgetGraphe_.getGraphe(), creatorGraphe_); Modified: trunk/framework/fudaa-common/src/main/resources/org/fudaa/fudaa/ressource/fudaa_en.fr_txt =================================================================== --- trunk/framework/fudaa-common/src/main/resources/org/fudaa/fudaa/ressource/fudaa_en.fr_txt 2012-11-28 18:42:28 UTC (rev 8084) +++ trunk/framework/fudaa-common/src/main/resources/org/fudaa/fudaa/ressource/fudaa_en.fr_txt 2012-11-28 18:51:46 UTC (rev 8085) @@ -1,4 +1,5 @@ Activer les applications s\xE9lectionn\xE9es=Activate the selected softwares +Importation graphe=Import graph A partir d'une date=From a date Adresse email=Email adress Affichage=View This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |