You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(46) |
Jul
(37) |
Aug
(154) |
Sep
(140) |
Oct
(132) |
Nov
(104) |
Dec
(67) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(113) |
Feb
(73) |
Mar
(102) |
Apr
(106) |
May
(114) |
Jun
(67) |
Jul
(116) |
Aug
(48) |
Sep
(108) |
Oct
(296) |
Nov
(56) |
Dec
(53) |
2010 |
Jan
(95) |
Feb
(31) |
Mar
(40) |
Apr
(12) |
May
(10) |
Jun
(27) |
Jul
(19) |
Aug
(81) |
Sep
(48) |
Oct
(45) |
Nov
(40) |
Dec
(7) |
2011 |
Jan
(16) |
Feb
(32) |
Mar
(55) |
Apr
(38) |
May
(24) |
Jun
(37) |
Jul
(12) |
Aug
(16) |
Sep
(97) |
Oct
(90) |
Nov
(101) |
Dec
(89) |
2012 |
Jan
(18) |
Feb
(2) |
Mar
(54) |
Apr
(69) |
May
(97) |
Jun
(131) |
Jul
(70) |
Aug
(48) |
Sep
(48) |
Oct
(119) |
Nov
(194) |
Dec
(60) |
2013 |
Jan
(73) |
Feb
(35) |
Mar
(42) |
Apr
(28) |
May
(7) |
Jun
(17) |
Jul
(27) |
Aug
(10) |
Sep
(38) |
Oct
(12) |
Nov
(4) |
Dec
(16) |
2014 |
Jan
(33) |
Feb
(37) |
Mar
(19) |
Apr
(3) |
May
(47) |
Jun
(26) |
Jul
(22) |
Aug
|
Sep
(10) |
Oct
(30) |
Nov
(24) |
Dec
(19) |
2015 |
Jan
(13) |
Feb
(16) |
Mar
(36) |
Apr
(19) |
May
(5) |
Jun
(5) |
Jul
(3) |
Aug
(11) |
Sep
(22) |
Oct
(7) |
Nov
(14) |
Dec
|
2016 |
Jan
|
Feb
(26) |
Mar
(13) |
Apr
(61) |
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
(27) |
Nov
(14) |
Dec
(21) |
2017 |
Jan
(30) |
Feb
(4) |
Mar
(3) |
Apr
(5) |
May
(69) |
Jun
(29) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <de...@us...> - 2008-08-25 20:37:00
|
Revision: 3835 http://fudaa.svn.sourceforge.net/fudaa/?rev=3835&view=rev Author: deniger Date: 2008-08-25 20:37:03 +0000 (Mon, 25 Aug 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2008-08-25 20:36:21 UTC (rev 3834) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2008-08-25 20:37:03 UTC (rev 3835) @@ -68,6 +68,8 @@ import org.fudaa.ebli.courbe.EGGraphe; import org.fudaa.ebli.ressource.EbliResource; import org.fudaa.ebli.visuallibrary.EbliNodeDefault; +import org.fudaa.ebli.visuallibrary.EbliScene; +import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCalqueLegende; import org.fudaa.ebli.visuallibrary.graphe.EbliWidgetCreatorGraphe; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.commun.courbe.FudaaCourbeTimeListModel; @@ -272,7 +274,7 @@ * Fenetre fille qui contient le layout scene. Cette fenetre remplace petit a * petit fille_ */ - transient TrPostLayoutFille filleLayout_ = new TrPostLayoutFille(this); + transient TrPostLayoutFille filleLayout_; transient BuInternalFrame frVariables_; @@ -804,8 +806,8 @@ } - protected TrPostVisuPanel buildVisuPanel() { - return new TrPostVisuPanel(impl_, this, new BCalqueLegende()); + protected TrPostVisuPanel buildVisuPanel(EbliScene _scene) { + return new TrPostVisuPanel(impl_, this, new EbliWidgetCalqueLegende(_scene)); } /** @@ -976,7 +978,7 @@ public void act() { filleLayout_ = new TrPostLayoutFille(TrPostProjet.this); - final TrPostVisuPanel pnVisu = buildVisuPanel(); + final TrPostVisuPanel pnVisu = buildVisuPanel(filleLayout_.getScene()); // fille_ = new TrPostFille(pnVisu); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java 2008-08-25 20:36:21 UTC (rev 3834) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java 2008-08-25 20:37:03 UTC (rev 3835) @@ -44,6 +44,9 @@ import org.fudaa.ebli.commun.EbliActionPaletteAbstract; import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.ebli.commun.EbliLib; +import org.fudaa.ebli.geometrie.GrBoite; +import org.fudaa.ebli.visuallibrary.EbliScene; +import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCalqueLegende; import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; import org.fudaa.fudaa.meshviewer.MvSelectionNodeOrEltData; import org.fudaa.fudaa.meshviewer.export.MvExportFactory; @@ -468,12 +471,9 @@ } /** - * @param _impl - * l'implementation - * @param _src - * la source - * @param _selection - * la selection + * @param _impl l'implementation + * @param _src la source + * @param _selection la selection */ public static void startExport(final CtuluUI _impl, final TrPostSource _src, final MvSelectionNodeOrEltData _selection) { TrExportFactory fac = null; @@ -501,47 +501,16 @@ /** * duplication du trPostVisuPanel. surcharge de la duplication du zeblicalquePanel. */ - public TrPostVisuPanel duplicate(Map options) { + public TrPostVisuPanel duplicate(Map _options) { - final TrPostVisuPanel duplic = new TrPostVisuPanel(this.getImpl(), this.getProjet(), null); - // -- duplication du layer qui contient les memes proprietes --// - duplic.isoLayer_ = (TrIsoLayer) this.isoLayer_.duplicate(); + final TrPostVisuPanel duplic = new TrPostVisuPanel(this.getImpl(), this.getProjet(), new EbliWidgetCalqueLegende( + (EbliScene) _options.get("scene"))); + // -- sauvegarde de l etat --// + BCalqueSaverInterface savedData = getDonneesCalque().getPersistenceMng().save(getDonneesCalque(), null); - // -- duplication des donnees via sauvegarde thread--// - new CtuluTaskOperationGUI(this.impl_, TrResource.getS("Enregistrement")) { + // -- chargement de l etat dans le calque duplique --// + duplic.getDonneesCalque().getPersistenceMng().restore(savedData, duplic, duplic.getDonneesCalque(), null); - public void act() { - - // -- sauvegarde de l etat --// - BCalqueSaverInterface savedData = getDonneesCalque().getPersistenceMng().save(getDonneesCalque(), - impl_.createProgressionInterface(this)); - - // -- chargement de l etat dans le calque duplique --// - duplic.getDonneesCalque().getPersistenceMng().restore(savedData, duplic, duplic.getDonneesCalque(), - impl_.createProgressionInterface(this)); - - // -- destruction des calques doublons du duplic pour recuperer une - // bonne arborescence --// - - // BCalque[] liste = duplic.getDonneesCalque().getCalques(); - // for (int i = 0; i < liste.length; i++) { - // BCalque calque = liste[i]; - // boolean existeDeja = false; - // // --recherche si doublon --// - // for (int j = i + 1; j < liste.length; j++) { - // BCalque calque2 = liste[j]; - // if (calque == calque2) - // liste[j].setDestructible(true); - // // duplic.getDonneesCalque().detruire(liste[j]); - // duplic.detruireCalque(liste[j]); - // - // } - // - // } - - } - }.start(); - return duplic; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-08-25 20:36:20
|
Revision: 3834 http://fudaa.svn.sourceforge.net/fudaa/?rev=3834&view=rev Author: deniger Date: 2008-08-25 20:36:21 +0000 (Mon, 25 Aug 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorVueCalque.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCalqueLegende.java Deleted: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCalqueLegende.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCalqueLegende.java 2008-08-25 18:11:33 UTC (rev 3833) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCalqueLegende.java 2008-08-25 20:36:21 UTC (rev 3834) @@ -1,45 +0,0 @@ -package org.fudaa.ebli.visuallibrary.calque; - -import java.awt.Rectangle; - -import org.fudaa.ebli.calque.BCalqueLegendePanel; -import org.fudaa.ebli.visuallibrary.EbliScene; -import org.fudaa.ebli.visuallibrary.EbliWidget; -import org.netbeans.api.visual.layout.LayoutFactory.SerialAlignment; -import org.netbeans.api.visual.widget.ComponentWidget; -import org.netbeans.modules.visual.layout.FlowLayout; - -/** - * Classe de la l\xE9gende associ\xE9e au graphe. - * - * @author Adrien Hadoux - * - */ -public class EbliWidgetCalqueLegende extends EbliWidget { - - public BCalqueLegendePanel calqueLegende_; - ComponentWidget intern_; - - public EbliWidgetCalqueLegende(EbliScene scene, BCalqueLegendePanel _calqueLegende) { - super(scene); - calqueLegende_ = _calqueLegende; - - setLayout(new FlowLayout(false, SerialAlignment.CENTER, 5)); - - - intern_ = new ComponentWidget(scene, _calqueLegende); - - - // intern_.setPreferredSize(preferredSize) - addChild(intern_); - - this.setPreferredBounds(new Rectangle(200, 200)); - - intern_.setPreferredBounds(new Rectangle(150, 150)); - - } - - - - -} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorVueCalque.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorVueCalque.java 2008-08-25 18:11:33 UTC (rev 3833) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorVueCalque.java 2008-08-25 20:36:21 UTC (rev 3834) @@ -3,30 +3,39 @@ import java.awt.Dimension; import org.fudaa.ebli.calque.ZEbliCalquesPanel; +import org.fudaa.ebli.geometrie.GrBoite; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.EbliWidget; import org.fudaa.ebli.visuallibrary.EbliWidgetCreator; public class EbliWidgetCreatorVueCalque implements EbliWidgetCreator { - ZEbliCalquesPanel calque; + ZEbliCalquesPanel calque_; + public ZEbliCalquesPanel getCalque() { - return calque; -} + return calque_; + } -public void setCalque(ZEbliCalquesPanel calque) { - this.calque = calque; -} + public void setCalque(ZEbliCalquesPanel calque) { + this.calque_ = calque; + } -EbliWidgetVueCalque res; + EbliWidgetVueCalque res; + GrBoite initZoom_; public EbliWidgetCreatorVueCalque(ZEbliCalquesPanel calque) { super(); - this.calque = calque; + this.calque_ = calque; } + public EbliWidgetCreatorVueCalque(ZEbliCalquesPanel calque, GrBoite _initZoom) { + super(); + this.calque_ = calque; + initZoom_ = _initZoom; + } + public EbliWidget create(EbliScene _scene) { - res = new EbliWidgetVueCalque(_scene, calque); + res = new EbliWidgetVueCalque(_scene, calque_,initZoom_); res.setPreferredSize(new Dimension(200, 200)); return res; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-25 18:11:33 UTC (rev 3833) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-25 20:36:21 UTC (rev 3834) @@ -51,24 +51,34 @@ ZEbliCalquesPanel calquePanel_; - public Color couleurContour = Color.black; - public Color couleurFond = Color.white; - private EbliNodeDefault nodeLegende = null; Window frame_; BufferedImage image; + GrBoite initZoom_; BuPanel conteneurEditor; // GrBoite zoom_; + public EbliWidgetVueCalque(EbliScene _scene, ZEbliCalquesPanel _vue) { + this(_scene, _vue, null); - public EbliWidgetVueCalque(EbliScene _scene, ZEbliCalquesPanel _vue) { + } + + /** + * TODO a am\xE9liorer avec une Map + * + * @param _scene + * @param _vue + * @param _initZoom + */ + public EbliWidgetVueCalque(EbliScene _scene, ZEbliCalquesPanel _vue, GrBoite _initZoom) { super(_scene); calquePanel_ = _vue; + initZoom_ =_initZoom; calquePanel_.setBorder(null); -// calquePanel_.setBorder(BuBorders.EMPTY1111); + // calquePanel_.setBorder(BuBorders.EMPTY1111); // FIXME a enlever par la suite setPreferredSize(new Dimension(500, 400)); @@ -120,7 +130,7 @@ image = null; getEbliScene().refresh(); -// calquePanel_.setBorder(BuBorders.EMPTY1111); + // calquePanel_.setBorder(BuBorders.EMPTY1111); this.repaint(); } @@ -173,7 +183,7 @@ } public Color getColorFond() { - return couleurFond; + return null; } private void initSize(Rectangle rec) { @@ -193,15 +203,18 @@ protected void paintWidget() { Rectangle rec = getClientArea(); - rec.width-=1; - rec.height-=1; + rec.width -= 1; + rec.height -= 1; Graphics2D g = getGraphics(); if (frame_ == null) { initSize(rec); if (first_) { first_ = false; - calquePanel_.restaurer(); + if (initZoom_ != null && initZoom_.getDeltaX() > 0 && initZoom_.getDeltaY() > 0) { + calquePanel_.getVueCalque().changeRepere(this, initZoom_); + initZoom_ = null; + } else calquePanel_.restaurer(); } // if (zoom_ != null) { // // image=null; @@ -270,7 +283,7 @@ // EbliWidgetVueCalque.this.getEbliScene().addNode(nodeLegende); // methode qui permet d ajouter une legemde -// calquePanel_.addWidgetLegendeCalque(); + // calquePanel_.addWidgetLegendeCalque(); EbliWidgetVueCalque.this.getEbliScene().refresh(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2008-08-25 18:11:36
|
Revision: 3833 http://fudaa.svn.sourceforge.net/fudaa/?rev=3833&view=rev Author: hadouxad Date: 2008-08-25 18:11:33 +0000 (Mon, 25 Aug 2008) Log Message: ----------- - gestion de plusieurs trpostsource dans trpostprojet - interface graphique de gestion des projets - Action d ajout de source - Action d'enlevement de source - gestion d un activator sepecial multi-source: ie qui gere tous les sources au sein du meme projet trpost Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/palette/BPalettePlageLegende.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetRectangle.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCalqueLegende.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrSupervisorImplementation.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjetRubar.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostRubarEdgeFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostActionChangeSrc.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostActionOpenSrc.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostActionRemoveSrc.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostMultiSourceActivator.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjetsManagerFille.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/palette/BPalettePlageLegende.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/palette/BPalettePlageLegende.java 2008-08-24 22:26:37 UTC (rev 3832) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/palette/BPalettePlageLegende.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -23,21 +23,22 @@ import javax.swing.border.Border; import javax.swing.event.ListSelectionListener; +import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ebli.trace.BPlageInterface; +import org.fudaa.ebli.trace.TraceIcon; + import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuGridLayout; import com.memoire.bu.BuPanel; import com.memoire.bu.BuVerticalLayout; -import org.fudaa.ctulu.CtuluLibString; - -import org.fudaa.ebli.trace.BPlageInterface; -import org.fudaa.ebli.trace.TraceIcon; - /** - * Une palette de couleurs associ\xE9es \xE0 des plages de valeurs. Les valeurs hors plages sont consid\xE9r\xE9es comme "autres". + * Une palette de couleurs associ\xE9es \xE0 des plages de valeurs. Les valeurs hors + * plages sont consid\xE9r\xE9es comme "autres". * - * @version $Id: BPalettePlageLegende.java,v 1.23 2007-05-04 13:49:42 deniger Exp $ - * @author Bertrand Marchand + * @version $Id: BPalettePlageLegende.java,v 1.23 2007-05-04 13:49:42 deniger + * Exp $ + * @author Bertrand Marchand TODO refaire en widget */ public class BPalettePlageLegende extends JPanel implements BPalettePlageListener { Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetRectangle.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetRectangle.java 2008-08-24 22:26:37 UTC (rev 3832) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetRectangle.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -76,13 +76,13 @@ revalidate(); } - @Override - protected Rectangle calculateClientArea() { - Rectangle res = intern.getPreferredBounds(); - // TODO Auto-generated method stub - return new Rectangle(0, 0, 2 * (largeurBorder + espaceInterieur) - + res.width, 2 * (largeurBorder + espaceInterieur) + res.height); - } + // @Override + // protected Rectangle calculateClientArea() { + // // Rectangle res = intern.getPreferredBounds(); + // // // TODO Auto-generated method stub + // // return new Rectangle(0, 0, 2 * (largeurBorder + espaceInterieur) + // // + res.width, 2 * (largeurBorder + espaceInterieur) + res.height); + // } protected void paintWidget() { Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCalqueLegende.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCalqueLegende.java 2008-08-24 22:26:37 UTC (rev 3832) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCalqueLegende.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -17,7 +17,7 @@ */ public class EbliWidgetCalqueLegende extends EbliWidget { - BCalqueLegendePanel calqueLegende_; + public BCalqueLegendePanel calqueLegende_; ComponentWidget intern_; public EbliWidgetCalqueLegende(EbliScene scene, BCalqueLegendePanel _calqueLegende) { Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-24 22:26:37 UTC (rev 3832) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -25,6 +25,7 @@ import org.fudaa.ctulu.CtuluResource; import org.fudaa.ctulu.image.CtuluLibImage; import org.fudaa.ebli.calque.BCalque; +import org.fudaa.ebli.calque.BCalqueLegende; import org.fudaa.ebli.calque.ZEbliCalquesPanel; import org.fudaa.ebli.geometrie.GrBoite; import org.fudaa.ebli.visuallibrary.EbliNodeDefault; @@ -37,10 +38,7 @@ import org.netbeans.api.visual.action.WidgetAction; import org.netbeans.api.visual.widget.Widget; -import com.memoire.bu.BuBorders; -import com.memoire.bu.BuButton; import com.memoire.bu.BuPanel; -import com.memoire.bu.BuResource; import com.memoire.fu.FuLog; /** @@ -86,7 +84,7 @@ WidgetAction editorAction = new EbliActionEditorOneClick<BuPanel>(this); // -- ajout de l action au widget correspondant --// this.getActions().addAction(editorAction); - _vue.addCqLegende(new EbliWidgetCalqueLegende(_scene)); + _vue.addCqLegende(new BCalqueLegende()); } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrSupervisorImplementation.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrSupervisorImplementation.java 2008-08-24 22:26:37 UTC (rev 3832) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrSupervisorImplementation.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -17,17 +17,13 @@ import javax.swing.BorderFactory; import javax.swing.JComponent; -import com.memoire.bu.*; -import com.memoire.vfs.VfsFile; - import org.fudaa.ctulu.BuNetworkPreferencesPanel; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.gui.CtuluFavoriteFiles; - import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.commun.exec.FudaaExec; +import org.fudaa.fudaa.commun.impl.FudaaLookPreferencesPanel; import org.fudaa.fudaa.commun.impl.FudaaStartupExitPreferencesPanel; -import org.fudaa.fudaa.commun.impl.FudaaLookPreferencesPanel; import org.fudaa.fudaa.tr.common.TrApplicationManager; import org.fudaa.fudaa.tr.common.TrCommonImplementation; import org.fudaa.fudaa.tr.common.TrExplorer; @@ -41,6 +37,19 @@ import org.fudaa.fudaa.tr.telemac.TrTelemacExecPreferencesPanel; import org.fudaa.fudaa.tr.telemac.TrTelemacImplHelper; +import com.memoire.bu.BuBrowserPreferencesPanel; +import com.memoire.bu.BuDynamicMenu; +import com.memoire.bu.BuIcon; +import com.memoire.bu.BuInformationsSoftware; +import com.memoire.bu.BuLanguagePreferencesPanel; +import com.memoire.bu.BuMenu; +import com.memoire.bu.BuMenuBar; +import com.memoire.bu.BuResource; +import com.memoire.bu.BuSeparator; +import com.memoire.bu.BuToolButton; +import com.memoire.bu.BuUserPreferencesPanel; +import com.memoire.vfs.VfsFile; + /** * @author Fred Deniger * @version $Id: TrSupervisorImplementation.java,v 1.38 2008-01-15 11:38:49 bmarchan Exp $ Added: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostActionChangeSrc.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostActionChangeSrc.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostActionChangeSrc.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -0,0 +1,74 @@ +package org.fudaa.fudaa.tr.post; + +import java.awt.event.ActionEvent; +import java.util.Iterator; + +import org.fudaa.ebli.commun.EbliActionSimple; + +import com.memoire.bu.BuDialogConfirmation; +import com.memoire.bu.BuDialogMessage; +import com.memoire.bu.BuResource; +import com.memoire.fu.FuLog; + +public class TrPostActionChangeSrc extends EbliActionSimple { + /** + * projet en cours contenant les multi projets. + */ + TrPostProjet projet_; + + /** + * Activator multi source permettant de gerer une nouvelle source pour + * trpostProjet + */ + TrPostMultiSourceActivator multiProjectActivator_; + + public TrPostActionChangeSrc(TrPostProjet _projet) { + super("Changer de donn\xE9es", BuResource.BU.getIcon("crystal_valider"), "Changer de donn\xE9es"); + projet_ = _projet; + + // -- creation de l activator multi-source avec le projet param --// + this.multiProjectActivator_ = new TrPostMultiSourceActivator(_projet); + } + + public void actionPerformed(ActionEvent e) { + + + // -- recuperation de la source a supprimer --// + + // -- cas rien de selectionnee --// + if (projet_.filleProjetctManager_.listProjets_.getSelectedIndex() == -1) { + new BuDialogMessage(projet_.impl_.getApp(), projet_.impl_.getInformationsSoftware(), + "Il faut selectionner le fichier dans la liste avant de cliquer.").activate(); + } else { + + // -- recupeation de la source a enlever --// + TrPostSource src = (TrPostSource) projet_.filleProjetctManager_.listProjets_.getSelectedValue(); + + // -- demande confirmationa l user --// + int confirmation = new BuDialogConfirmation(projet_.impl_.getApp(), projet_.impl_.getInformationsSoftware(), + "\xCAtes-vous sur de vouloir changer les donn\xE9es par celles \n du fichier " + src.getTitle() + " ?") + .activate(); + + if (confirmation == 0) { + if (projet_.changeSource(src)) { + new BuDialogMessage(projet_.impl_.getApp(), projet_.impl_.getInformationsSoftware(), + "Les donn\xE9es ont \xE9t\xE9 correctement charg\xE9es.").activate(); + } else { + new BuDialogMessage(projet_.impl_.getApp(), projet_.impl_.getInformationsSoftware(), + "Les donn\xE9es n'ont pas \xE9t\xE9 correctement charg\xE9es.").activate(); + } + + testAfficheMesSimu(); + } + } + + } + + public void testAfficheMesSimu() { + int i = 0; + for (Iterator<TrPostSource> it = projet_.listeSrc_.iterator(); it.hasNext();) { + TrPostSource src = it.next(); + FuLog.warning("simul " + (i++) + ": " + src.getTitle()); + } + } +} Added: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostActionOpenSrc.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostActionOpenSrc.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostActionOpenSrc.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -0,0 +1,87 @@ +package org.fudaa.fudaa.tr.post; + +import java.awt.event.ActionEvent; +import java.io.File; +import java.util.Iterator; + +import org.fudaa.ebli.commun.EbliActionSimple; + +import com.memoire.bu.BuDialogMessage; +import com.memoire.bu.BuFileChooser; +import com.memoire.bu.BuResource; +import com.memoire.fu.FuLog; + + +/** + * Gere l'action d'ouvrir un nouveau source et de l integrer au projet + * + * @author Adrien Hadoux + * + */ + +public class TrPostActionOpenSrc extends EbliActionSimple { + + /** + * projet en cours contenant les multi projets. + */ + TrPostProjet projet_; + + + /** + * Activator multi source permettant de gerer une nouvelle source pour + * trpostProjet + */ + TrPostMultiSourceActivator multiProjectActivator_; + + public TrPostActionOpenSrc(TrPostProjet _projet) { + super("Ajouter projet", BuResource.BU.getIcon("crystal_ouvrirprojet"), "Ajouter projet"); + projet_ = _projet; + + // -- creation de l activator multi-source avec le projet param --// + this.multiProjectActivator_ = new TrPostMultiSourceActivator(_projet); + } + + public void actionPerformed(ActionEvent e) { + + BuFileChooser chooser = new BuFileChooser(/* System.getProperty("user.dir") */); + + int rep = chooser.showOpenDialog(projet_.impl_.getParentComponent()); + + if (rep == BuFileChooser.APPROVE_OPTION) { + + // --chargement du fichier source correspondant et ajout dans le projet + // --// + File fichierAbsolu = chooser.getSelectedFile(); + + // -- verification que le fichier n est pas deja ouvert --// + if (projet_.isSourceExist(fichierAbsolu.getAbsolutePath())) { + new BuDialogMessage(projet_.impl_.getApp(), projet_.impl_.getInformationsSoftware(), + "Le fichier source existe d\xE9j\xE0 et ne peut \xEAtre ajout\xE9 au projet.").activate(); + + return; + } + + + // -- tentative de chargement du source dans le multi-projet --// + multiProjectActivator_.active(fichierAbsolu, projet_.impl_); + + + testAfficheMesSimu(); + + + + + } + + } + + public void testAfficheMesSimu() { + int i = 0; + for (Iterator<TrPostSource> it = projet_.listeSrc_.iterator(); it.hasNext();) { + TrPostSource src = it.next(); + FuLog.warning("simul " + (i++) + ": " + src.getTitle()); + } + } + + +} Added: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostActionRemoveSrc.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostActionRemoveSrc.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostActionRemoveSrc.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -0,0 +1,85 @@ +package org.fudaa.fudaa.tr.post; + +import java.awt.event.ActionEvent; +import java.util.Iterator; + +import org.fudaa.ebli.commun.EbliActionSimple; + +import com.memoire.bu.BuDialogConfirmation; +import com.memoire.bu.BuDialogMessage; +import com.memoire.bu.BuResource; +import com.memoire.fu.FuLog; + +/** + * Action de suppression d un source du multi-projet. + * + * @author Adrien Hadoux + * + */ + +public class TrPostActionRemoveSrc extends EbliActionSimple { + /** + * projet en cours contenant les multi projets. + */ + TrPostProjet projet_; + + + /** + * Activator multi source permettant de gerer une nouvelle source pour + * trpostProjet + */ + TrPostMultiSourceActivator multiProjectActivator_; + + public TrPostActionRemoveSrc(TrPostProjet _projet) { + super("Enlever projet", BuResource.BU.getIcon("crystal_enlever"), "Enlever projet"); + projet_ = _projet; + + // -- creation de l activator multi-source avec le projet param --// + this.multiProjectActivator_ = new TrPostMultiSourceActivator(_projet); + } + + public void actionPerformed(ActionEvent e) { + + + //-- recuperation de la source a supprimer --// + + // -- cas rien de selectionnee --// + if (projet_.filleProjetctManager_.listProjets_.getSelectedIndex() == -1) { + new BuDialogMessage(projet_.impl_.getApp(), projet_.impl_.getInformationsSoftware(), + "Il faut selectionner le fichier \xE0 retirer de la liste avant de cliquer.").activate(); + } else { + + // -- recupeation de la source a enlever --// + TrPostSource src = (TrPostSource) projet_.filleProjetctManager_.listProjets_.getSelectedValue(); + + + // -- demande confirmationa l user --// + int confirmation = new BuDialogConfirmation( + projet_.impl_.getApp(), + projet_.impl_.getInformationsSoftware(), + "\xCAtes-vous sur de vouloir enlever \n le fichier " + src.getTitle() + "\n du projet?") + .activate(); + + if (confirmation == 0) { + if (projet_.removeSource(src)) { + new BuDialogMessage(projet_.impl_.getApp(), projet_.impl_.getInformationsSoftware(), + "Le fichier a \xE9t\xE9 correctement enlev\xE9 du projet").activate(); + } else { + new BuDialogMessage(projet_.impl_.getApp(), projet_.impl_.getInformationsSoftware(), + "Le fichier n'a pas \xE9t\xE9t correctement enlev\xE9 du projet.").activate(); + } + + testAfficheMesSimu(); + } + } + + } + + public void testAfficheMesSimu() { + int i = 0; + for (Iterator<TrPostSource> it = projet_.listeSrc_.iterator(); it.hasNext();) { + TrPostSource src = it.next(); + FuLog.warning("simul " + (i++) + ": " + src.getTitle()); + } + } +} Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java 2008-08-24 22:26:37 UTC (rev 3832) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -3,6 +3,8 @@ import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Point; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.util.Iterator; import java.util.List; import java.util.Set; @@ -13,7 +15,6 @@ import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; -import javax.swing.JTree; import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluUndoRedoInterface; @@ -41,6 +42,7 @@ import org.netbeans.api.visual.model.ObjectSceneListener; import org.netbeans.api.visual.model.ObjectState; +import com.memoire.bu.BuButton; import com.memoire.bu.BuCutCopyPasteInterface; import com.memoire.bu.BuInternalFrame; import com.memoire.bu.BuMenuBar; @@ -93,6 +95,8 @@ * bouton qui permet de masquer/afficher le tree */ JButton toggleTree_; + + TrPostProjet projet_; /** * Constructeur de la fenetre. @@ -100,6 +104,8 @@ public TrPostLayoutFille(TrPostProjet _projet) { super(); setTitle(TrResource.getS("vue 2D")); + + projet_ = _projet; // creation de la scene EBLI controller_ = new TrPostLayoutPanelController(new TrPostScene(), _projet); setContentPane(controller_.getPanel()); @@ -174,6 +180,23 @@ pane.add(panelTreeModifiable_); right.add(conteneurTree_, BorderLayout.CENTER); + + // -- ajout du bouton qui permet de g\xE9rer tous les resultats + BuButton boutonGestionMultiSrc = new BuButton("Gestion des projets"); + + boutonGestionMultiSrc.addActionListener(new ActionListener() { + + public void actionPerformed(ActionEvent e) { + // -- affichage de la fenetre de gestion multi projet --// + if (!projet_.filleProjetctManager_.isVisible()) + projet_.impl_.addInternalFrame(projet_.filleProjetctManager_); + + projet_.filleProjetctManager_.setSize(500, 250); + + } + + }); + over.add(boutonGestionMultiSrc, BorderLayout.SOUTH); // --verification qu il n existe pas de composant sur la scene auquel cas, // selection automatique pour modification --// Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-24 22:26:37 UTC (rev 3832) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -39,7 +39,6 @@ import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionImageChooser; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageHorizontal; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageVertical; -import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCalqueLegende; import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorCalqueLegende; import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorVueCalque; import org.fudaa.ebli.visuallibrary.creator.ShapeCreatorCircle; @@ -430,7 +429,7 @@ "WIDGETRECALQUE") { public void actionPerformed(ActionEvent _evt) { - TrPostVisuPanel pnVisu =new TrPostVisuPanel(projet_.getImpl(),projet_,new EbliWidgetCalqueLegende(getScene())); + TrPostVisuPanel pnVisu = new TrPostVisuPanel(projet_.getImpl(), projet_, null); addCalque("Calque principal", pnVisu.getLocation(), pnVisu.getPreferredSize(), pnVisu); } }); Added: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostMultiSourceActivator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostMultiSourceActivator.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostMultiSourceActivator.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -0,0 +1,755 @@ +/* + * @creation 24 mars 2004 + * @modification $Date: 2007-06-20 12:23:39 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ + package org.fudaa.fudaa.tr.post; + + import java.io.File; +import java.util.HashMap; +import java.util.Map; + +import javax.swing.JFrame; +import javax.swing.JTextField; + +import org.fudaa.ctulu.CtuluIOOperationSynthese; +import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.CtuluLibFile; +import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.CtuluUI; +import org.fudaa.ctulu.CtuluUIAbstract; +import org.fudaa.ctulu.ProgressionInterface; +import org.fudaa.ctulu.fileformat.FileFormat; +import org.fudaa.ctulu.gui.CtuluDialogPanel; +import org.fudaa.ctulu.gui.CtuluTaskOperationGUI; +import org.fudaa.dodico.ef.EfData; +import org.fudaa.dodico.ef.EfGridInterface; +import org.fudaa.dodico.ef.EfGridSource; +import org.fudaa.dodico.ef.EfLib; +import org.fudaa.dodico.ef.FileFormatGridVersion; +import org.fudaa.dodico.fichiers.FileFormatSoftware; +import org.fudaa.dodico.h2d.rubar.H2dRubarGridAreteSource; +import org.fudaa.dodico.h2d.type.H2dVariableType; +import org.fudaa.dodico.reflux.io.CorEleBthFileFormat; +import org.fudaa.dodico.reflux.io.INPFileFormat; +import org.fudaa.dodico.reflux.io.RefluxRefondeSolutionFileFormat; +import org.fudaa.dodico.reflux.io.RefluxRefondeSolutionNewReader; +import org.fudaa.dodico.reflux.io.RefluxRefondeSolutionSequentielResult; +import org.fudaa.dodico.reflux.io.RefluxSolutionSequentielReader; +import org.fudaa.dodico.refonde.io.RefondeINPResult; +import org.fudaa.dodico.refonde.io.RefondeQuickINPReader; +import org.fudaa.dodico.rubar.io.RubarDATFileFormat; +import org.fudaa.dodico.telemac.io.SerafinFileFormat; +import org.fudaa.dodico.telemac.io.SerafinInterface; +import org.fudaa.dodico.telemac.io.TelemacVariableMapper; +import org.fudaa.ebli.commun.BJava3DVersionTest; +import org.fudaa.ebli.ressource.EbliResource; +import org.fudaa.fudaa.meshviewer.MvResource; +import org.fudaa.fudaa.tr.common.Tr3DFactory; +import org.fudaa.fudaa.tr.common.TrFileFormatManager; +import org.fudaa.fudaa.tr.common.TrResource; + +import com.memoire.bu.BuGridLayout; +import com.memoire.bu.BuLabelMultiLine; +import com.memoire.bu.BuLib; +import com.memoire.fu.Fu; +import com.memoire.fu.FuLog; + +/** + * + * refonte de TrPostSourceActivator poru gerer plusieurs source au sein du meme + * post. La difference avec le sourceActivator c'est qu'ici on ajoute toutes les + * sources a un meme TrPostProjet afin de gere le multi source au sein du + * trpojet. TODO mettre la construction des sources dans le + * TrPostSourceActivator TODO renommmer cette classe en TrPostProjetActivator + * + * @author Adrien Hadoux + */ +public final class TrPostMultiSourceActivator { + + public TrPostProjet projetCourant_; + + + + public TrPostMultiSourceActivator(TrPostProjet _projet) { + super(); + projetCourant_ = _projet; + + } + + /** + * @param _s la source + * @param _impl l'impl parente + */ + protected static void afficheFrame(final TrPostProjet _p, final TrPostCommonImplementation _impl) { + BuLib.invokeNow(new Runnable() { + + public void run() { + _impl.setProjet(_p); + } + }); + + } + + /** + * @param _f le fichier a ouvrir + * @param _impl l'impl parent + */ + public void activeSerafin(final File _f, final TrPostCommonImplementation _impl) { + new CtuluTaskOperationGUI(_impl, CtuluLibString.ESPACE) { + + public void act() { + activeSerafinAction(_f, _impl, _impl.createProgressionInterface(this)); + if (projetCourant_ == null) { + return; + } + if (SerafinFileFormat.is3DGrid(projetCourant_.getSource().getGrid())) { + BuLib.invokeLater(new Runnable() { + + public void run() { + affiche3D(projetCourant_, _impl); + } + + }); + } else { + afficheFrame(projetCourant_, _impl); + } + } + }.start(); + } + + protected static void affiche3D(final TrPostProjet _p, final TrPostCommonImplementation _impl) { + if (!BJava3DVersionTest.isJava3DFound()) { + _impl + .error( + "3D", + TrResource + .getS("Le fichier de r\xE9sultats corresond \xE0 un calcul 3D\n. Or, Java3D n'est pas install\xE9 sur votre poste.\nVous ne pouvez pas visualiser ce fichier de r\xE9sultats.\nVoir le menu 'Aide>Tester Java3D' pour installer Java 3D")); + return; + } + if (_impl.question("3D", TrResource + .getS("Le fichier de r\xE9sultats corresond \xE0 un calcul 3D.\nVoulez-vous ouvrir la vue 3D?"))) { + final JFrame f = new JFrame(); + f.setIconImage(EbliResource.EBLI.getImage("3d")); + Tr3DFactory.afficheFrame(f, _p.getSource(), _p.getSource().getInterpolator().getVect(), _impl, null, null); + } + + } + + public void activeGrid(final File _f, final FileFormatGridVersion _fmt, final TrPostCommonImplementation _impl) { + new CtuluTaskOperationGUI(_impl, CtuluLibString.ESPACE) { + + public void act() { + activeGridAction(_f, _fmt, _impl, _impl.createProgressionInterface(this)); + if (projetCourant_ != null) { + afficheFrame(projetCourant_, _impl); + } + } + }.start(); + } + + /** + * Ouvre le fichier en fonction de l'extension. + * + * @param _f le fichier correct + * @param _impl l'impl parent + */ + public void active(final File _f, final TrPostCommonImplementation _impl) { + if (_f == null) { + return; + } + final TrFileFormatManager mng = TrFileFormatManager.INSTANCE; + final String name = _f.getName(); + if (isReflux(name)) { + activeINP(_f, _impl); + return; + } + if (mng.isRubarTPSFile(name)) { + activeRubar(_f, _impl); + return; + } + // mettre serafin en dernier car le test est tres large .... + if (SerafinFileFormat.getInstance().createFileFilter().accept(_f)) { + activeSerafin(_f, _impl); + return; + } + final FileFormat ft = FileFormat.findFileFormat(TrFileFormatManager.getAllGridFormat(), _f); + if (ft == null) { + final String id = _impl.getLauncher().getCurrentPrefHydId(); + if (FileFormatSoftware.REFLUX_IS.name.equals(id)) { + activeINP(_f, _impl); + } else if (FileFormatSoftware.TELEMAC_IS.name.equals(id)) { + activeSerafin(_f, _impl); + } else if (FileFormatSoftware.RUBAR_IS.name.equals(id)) { + activeRubar(_f, _impl); + } + } else { + activeGrid(_f, (FileFormatGridVersion) ft, _impl); + } + } + + private static boolean isReflux(final String _name) { + return INPFileFormat.getInstance().isAccepted(_name) + || RefluxRefondeSolutionFileFormat.getInstance().isAccepted(_name); + } + + public static TrPostSource activeSourceAction(final File _f, final TrPostCommonImplementation _impl, + final ProgressionInterface _prog) { + return activeSourceAction(_f, _impl, _impl.getLauncher().getCurrentPrefHydId(), _prog, null); + } + + public static TrPostSource activeSourceAction(final File _f, final CtuluUI _impl, final String _id, + final ProgressionInterface _prog, final Map _otherData) { + if (_f == null) { + return null; + } + final TrFileFormatManager mng = TrFileFormatManager.INSTANCE; + final String name = _f.getName(); + if (isReflux(name)) { + return activeINPSource(_f, _impl, _prog); + } else if (mng.isRubarTPSFile(name)) { + final TrPostSourceRubar rubar = activeRubarSrcAction(_f, _impl, _prog); + if (rubar == null) { + return null; + } + final TrPostRubarLoader loader = new TrPostRubarLoader(rubar, _f, true); + loader.active(_impl, _prog); + return rubar; + + } + // mettre serafin en dernier car le test est tres large .... + else if (SerafinFileFormat.getInstance().createFileFilter().accept(_f)) { + return activeSerafinSourceAction(_f, _impl, _prog, _otherData); + } + final FileFormat ft = FileFormat.findFileFormat(TrFileFormatManager.getAllGridFormat(), _f); + if (ft != null) { + return activeGridSource(_f, (FileFormatGridVersion) ft, _impl, _prog); + } + final String id = _id; + if (FileFormatSoftware.REFLUX_IS.name.equals(id) || RefluxRefondeSolutionFileFormat.getInstance().isAccepted(_f)) { + return activeINPSource(_f, _impl, _prog); + } else if (FileFormatSoftware.TELEMAC_IS.name.equals(id)) { + return activeSerafinSourceAction(_f, _impl, _prog, _otherData); + } else if (FileFormatSoftware.RUBAR_IS.name.equals(id)) { + final TrPostSourceRubar rubar = activeRubarSrcAction(_f, _impl, _prog); + if (rubar != null) { + final TrPostRubarLoader loader = new TrPostRubarLoader(rubar, _f, true); + loader.active(_impl, _prog); + return rubar; + } + } + return null; + } + + /** + * Ouvir une boite de dialogue pour determiner le fichier inp et le fichier sov. + * + * @param _f le fichier xinp,sov ou inp + * @param _impl l'impl parent + */ + public void activeINP(final File _f, final TrPostCommonImplementation _impl) { + if (RefluxRefondeSolutionSequentielResult.isRefonde(_f)) { + final File inp = getInpFileForRefonde(_f, _impl); + if (inp != null) { + activeINP(inp, _f, _impl); + } + return; + } + final INPChooseFile pn = new INPChooseFile(_f); + if (CtuluDialogPanel.isOkResponse(pn.afficheModale(_impl.getFrame()))) { + activeINP(pn.getInp(), pn.getsov(), _impl); + } + } + + /** + * @param _f le fichier tps + * @param _impl l'impl parente + */ + public void activeRubar(final File _f, final TrPostCommonImplementation _impl) { + new CtuluTaskOperationGUI(_impl, CtuluLibString.ESPACE) { + + public void act() { + final ProgressionInterface prog = _impl.createProgressionInterface(this); + activeRubarAction(_f, _impl, prog); + final TrPostProjetRubar rubar = new TrPostProjetRubar(projetCourant_); + if (rubar == null) { + return; + } + final TrPostRubarLoader loader = new TrPostRubarLoader(rubar, _f, true); + loader.active(_impl, prog); + afficheFrame(rubar, _impl); + + } + }.start(); + } + + /** + * @param _f le fichier inp + * @param _sov le fichier sov + * @param _impl l'impl parente + */ + public void activeINP(final File _f, final File _sov, final TrPostCommonImplementation _impl) { + new CtuluTaskOperationGUI(_impl, CtuluLibString.ESPACE) { + + public void act() { + activeINPAction(_f, _sov, _impl, _impl.createProgressionInterface(this)); + if (projetCourant_ != null) { + afficheFrame(projetCourant_, _impl); + } + } + }.start(); + } + + /** + * @param _f le fichier serafin + * @param _impl l'impl parent + * @param _inter la barre de progress + * @return le source post + */ + public void activeSerafinAction(final File _f, final TrPostCommonImplementation _impl, + final ProgressionInterface _inter) { + final TrPostSource r = activeSerafinSourceAction(_f, _impl, _inter, null); + if (r == null) { + return; + } + + + // ajout de la source au postProjet + this.projetCourant_.ajouterSource(r); + + /* + * final boolean isDataModified = + * projetCourant_.openSrcDataAndIsModified(_impl, _inter); + * r.buildDefaultVarUpdateLists(); if (isDataModified) { + * this.projetCourant_.setProjectModified(); } + */ + return; + } + + /** + * @param _f le fichier serafin + * @param _impl l'impl parent + * @param _inter la barre de progress + * @return le source post + */ + public static TrPostSource activeSerafinSourceAction(final File _f, final CtuluUI _impl, + final ProgressionInterface _inter, final Map _otherData) { + final CtuluIOOperationSynthese s = SerafinFileFormat.getInstance().read(_f, _inter); + if (isFatalError(_impl, s)) { + return null; + } + final SerafinInterface ser = (SerafinInterface) s.getSource(); + if (_otherData != null) { + _otherData.put("IPOBO", ser.getIpoboInitial()); + } + if (_otherData != null) { + _otherData.put("IPARAMS", ser.getIparam()); + } + final EfGridInterface g = ser.getGrid(); + // 3D + if (!SerafinFileFormat.is3DGrid(g)) { + s.getAnalyze().clear(); + g.computeBord(/* ser.getPtsFrontiere(), */_inter, s.getAnalyze()); + g.createIndexRegular(_inter); + if (_impl != null) { + _impl.manageAnalyzeAndIsFatal(s.getAnalyze()); + } + } + final double[] timeStep = new double[ser.getTimeStepNb()]; + for (int i = timeStep.length - 1; i >= 0; i--) { + timeStep[i] = ser.getTimeStep(i); + } + final Map shortNameVar = new HashMap(); + final H2dVariableType[] variable = new H2dVariableType[ser.getValueNb()]; + final TelemacVariableMapper mapper = new TelemacVariableMapper(); + for (int i = variable.length - 1; i >= 0; i--) { + variable[i] = mapper.getUsedKnownVar(ser.getValueId(i)); + if (variable[i] == null) { + variable[i] = H2dVariableType.createTempVar(ser.getValueId(i), shortNameVar); + } + } + TrPostSourceAbstract r = new TrPostSourceSerafin(_f, ser.getTitre(), g, timeStep, variable, ser.getReadingInfo(), + _impl); + if (SerafinFileFormat.is3DGrid(g)) { + r = TrPostSourceTelemac3D.build((TrPostSourceSerafin) r, timeStep, ser, shortNameVar, _inter, _impl); + } + r.initShortNameMap(shortNameVar); + return r; + } + + /** + * @param _f le fichier serafin + * @param _impl l'impl parent + * @param _inter la barre de progress + * @return le source post + */ + public void activeRubarAction(final File _f, final TrPostCommonImplementation _impl, + final ProgressionInterface _inter) { + final TrPostSourceRubar src = activeRubarSrcAction(_f, _impl, _inter); + if (src == null) { + return; + } + + this.projetCourant_.ajouterSource(src); + + return; + } + + public static void loadData(final CtuluUI _impl, final ProgressionInterface _inter, final TrPostProjet _proj) { + if (_proj != null && _proj.openSrcDataAndIsModified(_impl, _inter)) { + _proj.setProjectModified(); + } + } + + /** + * @param _f le fichier serafin + * @param _impl l'impl parent + * @param _inter la barre de progress + * @return le source post + */ + public static TrPostSourceRubar activeRubarSrcAction(final File _f, final CtuluUI _impl, + final ProgressionInterface _inter) { + // on recherche le fichier contenant le maillage + final File dir = _f.getParentFile(); + final String name = CtuluLibFile.getSansExtension(_f.getName()); + final File maillage = RubarDATFileFormat.getInstance().getFileFor(dir, name); + CtuluIOOperationSynthese s; + H2dRubarGridAreteSource grid; + // fichier DAT existe + if (maillage.exists()) { + s = RubarDATFileFormat.getInstance().readGrid(maillage, _inter); + if (isFatalError(_impl, s)) { + return null; + } + grid = (H2dRubarGridAreteSource) s.getSource(); + } else { + _impl.error(TrResource.getS("Le fichier {0} est requis", maillage.getName())); + return null; + + } + if (grid == null) { + return null; + } + grid.getGrid().computeBord(_inter, s.getAnalyze()); + grid.getGrid().createIndexRegular(_inter); + if (_impl != null) { + _impl.manageAnalyzeAndIsFatal(s.getAnalyze()); + } + return new TrPostSourceRubar(_f, name, grid, _impl); + } + + /** + * @param _gridFile le fichier inp ou ximp + * @param _sovFile le fichier contenant les solutions + * @param _impl l'impl parent + * @param _inter la barre de progression + * @return le source + */ + public void activeINPAction(final File _gridFile, final File _sovFile, final CtuluUI _impl, + final ProgressionInterface _inter) { + + final TrPostSourceReflux retour = (TrPostSourceReflux) activeINPSource(_gridFile, _sovFile, _impl, _inter); + if (retour == null) { + return; + } + retour.buildDefaultVarUpdateLists(); + + projetCourant_.ajouterSource(retour); + + loadData(_impl, _inter, projetCourant_); + return; + } + + public void activeGridAction(final File _f, final FileFormatGridVersion _ftGrid, + final TrPostCommonImplementation _impl, final ProgressionInterface _inter) { + + final TrPostSource retour = activeGridSource(_f, _ftGrid, _impl, _inter); + if (retour == null) { + return; + } + + this.projetCourant_.ajouterSource(retour); + + loadData(_impl, _inter, projetCourant_); + return; + } + + public static TrPostSource activeINPSource(final File _f, final CtuluUI _impl, final ProgressionInterface _inter) { + if (RefluxRefondeSolutionSequentielResult.isRefonde(_f)) { + final File inp = getInpFileForRefonde(_f, _impl); + if (inp == null) { + return null; + } + return activeINPSource(inp, _f, _impl, _inter); + } + final INPChooseFile pn = new INPChooseFile(_f); + if (CtuluDialogPanel.isOkResponse(pn.afficheModale(_impl.getParentComponent()))) { + return activeINPSource(pn.getInp(), pn.getsov(), _impl, _inter); + } + return null; + } + + private static File getInpFileForRefonde(final File _f, final CtuluUI _impl) { + final File inp = CtuluLibFile.changeExtension(_f, "inp"); + if (!CtuluLibFile.exists(inp)) { + _impl.error("Refonde:\n" + TrResource.getS("Le fichier inp est requis pour la lecture des r\xE9sultats.") + + CtuluLibString.LINE_SEP + + TrResource.getS("Vous pouvez le cr\xE9er en utilisant les foncitons d'exportation de Fudaa-Refonde")); + return null; + } + return inp; + } + + public static TrPostSource activeGridSource(final File _f, final FileFormatGridVersion _fmt, final CtuluUI _impl, + final ProgressionInterface _prog) { + final CtuluIOOperationSynthese op = _fmt.readGrid(_f, _prog); + if (isFatalError(_impl, op)) { + return null; + } + final String[] ext = _fmt.getFileFormat().getExtensions(); + File f = _f; + // pour les formats \xE0 fichier multiple, on prend la premiere extension (cor,ele,bth au hasard). + if (ext.length > 1 && !CtuluLibFile.getExtension(f.getName()).toLowerCase().equals(ext[0].toLowerCase())) { + f = CtuluLibFile.changeExtension(f, ext[0]); + } + + final EfGridInterface grid = ((EfGridSource) op.getSource()).getGrid(); + op.getAnalyze().clear(); + grid.computeBord(_prog, op.getAnalyze()); + grid.createIndexRegular(_prog); + if (_impl != null) { + _impl.manageAnalyzeAndIsFatal(op.getAnalyze()); + } + final EfData[][] data = new EfData[1][1]; + data[0][0] = EfLib.getBathy(grid); + return new TrPostSourceDefault(f, f.getName(), grid, new double[] { 0 }, + new H2dVariableType[] { H2dVariableType.BATHYMETRIE }, data, _impl); + + } + + public static boolean fileExists(final CtuluUI _ui, final File _f) { + if (_f == null || !_f.exists()) { + if (_ui != null) { + _ui.error(CtuluUIAbstract.getDefaultErrorTitle(), getNotFoundErr(_f), false); + } + return false; + } + return true; + } + + public static String getNotFoundErr(final File _f) { + return CtuluLib.getS("Le fichier {0} n'existe pas", _f == null ? "?" : _f.getAbsolutePath()); + } + + /** + * @param _inpOrxinp le fichier inp ou ximp + * @param _sovFile le fichier contenant les solutions + * @param _impl l'impl parent + * @param _inter la barre de progression + * @return le source + */ + public static TrPostSource activeINPSource(final File _inpOrxinp, final File _sovFile, final CtuluUI _impl, + final ProgressionInterface _inter) { + if (_impl == null) { + FuLog.warning("_impl is null"); + } + if (_inter != null) { + _inter.setDesc(MvResource.getS("Lecture maillage")); + } + final File inpFile = _inpOrxinp; + if (!fileExists(_impl, inpFile)) { + return null; + } + EfGridInterface g = null; + FileFormatGridVersion ft = null; + boolean isSeiche = false; + H2dVariableType refondeFirstVar = H2dVariableType.PHASE; + CtuluIOOperationSynthese s = null; + // le cas refonde + if (RefluxRefondeSolutionSequentielResult.isRefonde(_sovFile)) { + s = new RefondeQuickINPReader().read(_inpOrxinp, _inter); + if (isFatalError(_impl, s)) { + return null; + } + final RefondeINPResult res = (RefondeINPResult) s.getSource(); + g = res.getGrid(); + isSeiche = res.isModuleSeiche(); + refondeFirstVar = res.getVariableForFirstCol(); + } else { + if (INPFileFormat.getInstance().createFileFilter().accept(_inpOrxinp)) { + ft = INPFileFormat.getInstance().getLastINPVersionImpl(); + // final INPFileFormat.INPVersion v = (INPFileFormat.INPVersion) + // INPFileFormat.getInstance().getLastVersionImpl(); + } else if (CorEleBthFileFormat.getInstance().createFileFilter().accept(_inpOrxinp)) { + ft = CorEleBthFileFormat.getInstance(); + } else { + ft = (FileFormatGridVersion) FileFormat.findFileFormat(TrFileFormatManager.getAllGridFormat(), _inpOrxinp); + } + s = ft.readGrid(inpFile, _inter); + if (isFatalError(_impl, s)) { + return null; + } + s.getAnalyze().clear(); + g = ((EfGridSource) s.getSource()).getGrid(); + + } + g.computeBord(_inter, s.getAnalyze()); + g.createIndexRegular(_inter); + if (_impl != null) { + _impl.manageAnalyzeAndIsFatal(s.getAnalyze()); + } + final File sovFile = _sovFile; + if (!fileExists(_impl, sovFile)) { + return null; + } + if (_inter != null) { + _inter.setDesc(TrResource.getS("Lecture solutions")); + _inter.setProgression(0); + } + final RefluxRefondeSolutionNewReader r = new RefluxRefondeSolutionNewReader(RefluxRefondeSolutionFileFormat + .getInstance()); + r.setFile(sovFile); + s = r.read(); + if (isFatalError(_impl, s)) { + return null; + } + final RefluxRefondeSolutionSequentielResult sol = (RefluxRefondeSolutionSequentielResult) s.getSource(); + // pour le cas refonde + if (sol.isRefonde()) { + sol.setRefondeSeiche(isSeiche, refondeFirstVar); + } + if (sol.getNbPoint() == 0) { + if (_impl != null) { + _impl.error(TrResource.getS("Le fichier {0} est corrompu", sovFile != null ? sovFile.getAbsolutePath() : "?")); + } + return null; + } + if (sol.getNbPoint() != g.getPtsNb()) { + if (_impl != null) { + _impl.error(TrResource.getS("Le fichier de maillage ne correspond pas au fichier des solutions s\xE9lectionn\xE9")); + } + if (Fu.DEBUG) { + FuLog.debug("FTR: nb point maillage: " + g.getPtsNb() + " sol=" + sol.getNbPoint()); + } + return null; + } + final double[] timeStep = new double[sol.getTimeStepNb()]; + for (int i = timeStep.length - 1; i >= 0; i--) { + timeStep[i] = sol.getTimeStep(i); + } + + // final boolean isSot = RefluxRefondeSolutionFileFormat.isSot(sovFile); + // support temperature + final H2dVariableType[] variable = sol.getVars(); + final int[] placement = sol.getPosition(); + final TrPostSourceReflux res = new TrPostSourceReflux(sovFile, sovFile.getAbsolutePath(), g, timeStep, variable, + placement, new RefluxSolutionSequentielReader(sol, sovFile), _impl); + // findGravitation(inp, res); + return res; + } + + private static boolean isFatalError(final CtuluUI _impl, final CtuluIOOperationSynthese _s) { + if (_s == null) { + return false; + } + if (_impl == null) { + if (_s.containsFatalError()) { + _s.printAnalyze(); + return true; + } + return false; + } + return _impl.manageErrorOperationAndIsFatal(_s); + } + + private static class INPChooseFile extends CtuluDialogPanel { + + private JTextField inpField_; + + private JTextField sovField_; + + private File inp_; + + private File sov_; + + /** + * @param _inpOrSov le fichier inp ou sov + */ + public INPChooseFile(final File _inpOrSov) { + final String fic = CtuluLibFile.getSansExtension(_inpOrSov.getName()); + File inp = new File(_inpOrSov.getParentFile(), CtuluLibFile.getFileName(fic, INPFileFormat.getINPExtension())); + if (!inp.exists()) { + final File cor = CtuluLibFile.changeExtension(_inpOrSov, CorEleBthFileFormat.getInstance().getExtensions()[0]); + if (cor.exists()) { + inp = cor; + } + + } + + final File sov = RefluxRefondeSolutionFileFormat.getInstance().isAccepted(_inpOrSov) ? _inpOrSov : new File( + _inpOrSov.getParentFile(), CtuluLibFile.getFileName(fic, RefluxRefondeSolutionFileFormat.getInstance() + .getExtensions()[0])); + init(inp, sov); + } + + /** + * @param _inp le chemin du fichier inp + * @param _sov le chemin du fichier sov + */ + public INPChooseFile(final File _inp, final File _sov) { + init(_inp, _sov); + } + + private void init(final File _inp, final File _sov) { + addEmptyBorder(10); + final String s = TrResource.getS("Fichier") + CtuluLibString.ESPACE; + setLayout(new BuGridLayout(2, 10, 10, true, false)); + addLabel(CtuluLibString.EMPTY_STRING); + add(new BuLabelMultiLine(TrResource.getS("Choisir le fichier sov et le fichier de maillage correspondant"))); + inpField_ = addLabelFileChooserPanel(MvResource.getS("Fichier de maillage"), _inp, false, false); + sovField_ = addLabelFileChooserPanel(s + RefluxRefondeSolutionFileFormat.getInstance().getExtensions()[0], _sov, + false, false); + } + + /** + * @return le fichier inp choisi + */ + public File getInp() { + return inp_; + } + + /** + * @return le fichier sov + */ + public File getsov() { + return sov_; + } + + public boolean valide() { + inp_ = new File(inpField_.getText()); + sov_ = new File(sovField_.getText()); + if (!inp_.exists() || !sov_.exists()) { + final StringBuffer b = new StringBuffer(); + if (!inp_.exists()) { + b.append(getNotFoundErr(inp_)); + } + if (!sov_.exists()) { + if (b.length() > 0) { + b.append(CtuluLibString.LINE_SEP); + } + b.append(getNotFoundErr(sov_)); + } + setErrorText(b.toString()); + return false; + } + return true; + + } + } + + + + +} Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2008-08-24 22:26:37 UTC (rev 3832) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -15,7 +15,8 @@ import java.beans.PropertyVetoException; import java.io.File; import java.io.IOException; -import java.util.Map; +import java.util.HashSet; +import java.util.Iterator; import java.util.Observable; import java.util.Observer; import java.util.Set; @@ -67,7 +68,6 @@ import org.fudaa.ebli.courbe.EGGraphe; import org.fudaa.ebli.ressource.EbliResource; import org.fudaa.ebli.visuallibrary.EbliNodeDefault; -import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCalqueLegende; import org.fudaa.ebli.visuallibrary.graphe.EbliWidgetCreatorGraphe; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.commun.courbe.FudaaCourbeTimeListModel; @@ -95,6 +95,7 @@ import com.db4o.ext.Db4oException; import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuButton; +import com.memoire.bu.BuDialogMessage; import com.memoire.bu.BuGlassPaneStop; import com.memoire.bu.BuHorizontalLayout; import com.memoire.bu.BuIcon; @@ -274,6 +275,12 @@ transient TrPostLayoutFille filleLayout_ = new TrPostLayoutFille(this); transient BuInternalFrame frVariables_; + + /** + * internalframe qui gere les multiProjets + */ + public TrPostProjetsManagerFille filleProjetctManager_; + int idx_; @@ -283,8 +290,16 @@ ModifyObserver modifyState_ = new ModifyObserver(); + /** + * Donnees courantes du trpost. + */ transient TrPostSource src_; + /** + * liste des sources pour le multiProjet. + */ + transient Set<TrPostSource> listeSrc_ = new HashSet<TrPostSource>(); + transient TimeContentUpdater timeUpdater_; /** @@ -293,17 +308,162 @@ public TrPostProjet(final TrPostSource _src) { src_ = _src; src_.addVariableListener(new VariableListener()); + + // -- ajout de la source de base dans la liste de sources --// + ajouterSource(_src); + + + // -- creation de la frame de gestion multi projet --// + filleProjetctManager_ = new TrPostProjetsManagerFille(this); + } - + + public TrPostProjet(final TrPostSource _src, final TrPostCommonImplementation _impl) { this(_src); impl_ = _impl; + + } + + /** + * Permet d ajouter une source dans le projet afin de gerer le multi source. + * + * @param _src + */ + public void ajouterSource(TrPostSource _src) { + if (!isSourceExist(_src.getFile().getAbsolutePath())) { + listeSrc_.add(_src); + // -- mise a jour de la jlist graphique --// + if (filleProjetctManager_ != null && filleProjetctManager_.modelList_ != null) + filleProjetctManager_.modelList_.addElement(_src); + + } else { + // -- messqge d erreur: le fichier est deja ouvert --// + new BuDialogMessage(impl_.getApp(), impl_.getInformationsSoftware(), + "Le fichier.").activate(); + + } + + } + + /** + * retourne la source dans la liste des sources correspondant au fichier. + * retourne null sinon. + * + * @param _file + * : path absolu du fichier + * @return + */ + public TrPostSource findSource(String _file) { + + for (Iterator<TrPostSource> it = listeSrc_.iterator(); it.hasNext();) { + TrPostSource src = it.next(); + if (src.getFile().getAbsolutePath().equals(_file)) + return src; + } + + return null; + } + + + + /** + * indique si il existe une source portant le nom du fichier en param. + * + * @param _file + * : path absolu du fichier + * @return + */ + public boolean isSourceExist(String _file) { + if (findSource(_file) == null) + return false; + return true; + } + + +// public boolean changeSource(String _file) { + // + // TrPostSource newSrcCourante = findSource(_file); + // if (newSrcCourante == null) + // return false; + // else { + // src_ = newSrcCourante; + // return true; + // } + // + // } + + /** + * methode qui change la source courante et retourne true si la source existe + * bien, false sinon + * + * @param _file + * : path absolu du fichier + * @return + */ + public boolean changeSource(TrPostSource _src) { + + src_ = _src; + + return true; + } + + // public boolean removeSource(String _file) { + // for (Iterator<TrPostSource> it = listeSrc_.iterator(); it.hasNext();) { + // + // TrPostSource src = it.next(); + // if (src.getFile().getAbsolutePath().equals(_file)) { + // it.remove(); + // return true; + // } + // + // } + // return false; + // + // } + + /** + * Methode de suppression de la source + * + * @param src + * : TrPostSource, retourne true si la suppression a bien ete + * effectuee. + */ + public boolean removeSource(TrPostSource src){ + if (isSourceExist(src.getFile().getAbsolutePath())) { + listeSrc_.remove(src); + // -- mise a jour de la jlist graphique --// + if (filleProjetctManager_ != null && filleProjetctManager_.modelList_ != null) + filleProjetctManager_.modelList_.removeElement(src); + + return true; + } else { + // -- messqge d erreur: le fichier est deja ouvert --// + new BuDialogMessage(impl_.getApp(), impl_.getInformationsSoftware(), + "Impossible de supprimer ce fichier de la liste.") + .activate(); + + return false; + } + } + /** + * Methode qui affiche la frame de gestion des multi projets. + */ + public void showProjectFrame() { + + if (filleProjetctManager_ == null) + filleProjetctManager_ = new TrPostProjetsManagerFille(this); + + filleProjetctManager_.setVisible(true); + } + + private void showError(final CtuluUI _ui, final File _dbFile, final String _err) { String mess = TrResource.getS("Les sauvegardes ne seront pas effectu\xE9es") + CtuluLibString.LINE_SEP @@ -645,7 +805,7 @@ } protected TrPostVisuPanel buildVisuPanel() { - return new TrPostVisuPanel(impl_, this,new EbliWidgetCalqueLegende(filleLayout_.getScene())); + return new TrPostVisuPanel(impl_, this, new BCalqueLegende()); } /** @@ -684,7 +844,7 @@ // // filleLayout_.getScene().refresh(); // filleLayout_.getScene_().refresh(); - + // TODO modifier final BuMenuBar menubar = impl_.getMainMenuBar(); final BuMenu menu = new BuMenu(TrResource.getS("Post"), "POST"); menu.setIcon(null); @@ -708,6 +868,8 @@ TrResource.getS("Les fichiers de r\xE9sultats seront relus")); menu.addMenuItem(TrResource.getS("Rafra\xEEchir automatiquement"), "MAJ_DATA_ALWAYS", ic, TrPostProjet.this) .setToolTipText(TrResource.getS("Les fichiers sont surveill\xE9s p\xE9riodiquement")); + menu.addSeparator(); + menu.addMenuItem(TrResource.getS("Exporter"), "EXPORTDATA", TrPostProjet.this); } @@ -770,6 +932,8 @@ TrPostTimeFmtPanel.updateTimeStepFmt(this, getImpl().getFrame()); } else if ("VARIABLES".equals(com)) { activeVarFrame(); + } else if ("EXPORTDATA".equals(com)) { + TrPostVisuPanel.startExport(getImpl(), getSource(), null); } else if ("COMPARE".equals(com)) { compareWith(); } else if ("PROJECT".equals(com)) { Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjetRubar.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjetRubar.java 2008-08-24 22:26:37 UTC (rev 3832) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjetRubar.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -12,17 +12,15 @@ import javax.swing.SwingUtilities; -import com.memoire.bu.BuCheckBoxMenuItem; -import com.memoire.bu.BuMenu; - import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.ctulu.gui.CtuluTaskOperationGUI; - import org.fudaa.dodico.h2d.resource.H2dResource; import org.fudaa.ebli.calque.BCalqueLegende; - import org.fudaa.fudaa.tr.common.TrResource; +import com.memoire.bu.BuCheckBoxMenuItem; +import com.memoire.bu.BuMenu; + /** * @author Fred Deniger * @version $Id: TrPostProjetRubar.java,v 1.14 2007-02-07 09:56:17 deniger Exp $ @@ -58,7 +56,32 @@ super(_s); } + /** + * Constructeur ajout\xE9 pour construire un postProjetRubar identique au + * postProjet initial et ajouter un source pour gerer la multi simu. + * + * @param projet + */ + public TrPostProjetRubar(final TrPostProjet projet) { + super(projet.src_); + + // -- recuperation de la liste des src --// + this.listeSrc_ = projet.listeSrc_; + + // -- recuperation des autres infos --// + this.filleLayout_ = projet.filleLayout_; + this.frVariables_ = projet.frVariables_; + this.idx_ = projet.idx_; + this.idxFilleG_ = projet.idxFilleG_; + this.impl_ = projet.impl_; + this.modifyState_ = projet.modifyState_; + this.timeUpdater_ = projet.timeUpdater_; + + } + + + /** * @return true si le fond est variable */ public final boolean isFondVariable() { Added: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjetsManagerFille.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjetsManagerFille.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjetsManagerFille.java 2008-08-25 18:11:33 UTC (rev 3833) @@ -0,0 +1,183 @@ +package org.fudaa.fudaa.tr.post; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; + +import javax.swing.BorderFactory; +import javax.swing.DefaultListModel; +import javax.swing.JList; +import javax.swing.JScrollPane; +import javax.swing.ListCellRenderer; +import javax.swing.ListSelectionModel; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; + +import org.fudaa.fudaa.tr.common.TrResource; +import org.jdesktop.swingx.JXList; + +import ... [truncated message content] |
From: <de...@us...> - 2008-08-24 22:26:30
|
Revision: 3832 http://fudaa.svn.sourceforge.net/fudaa/?rev=3832&view=rev Author: deniger Date: 2008-08-24 22:26:37 +0000 (Sun, 24 Aug 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/BCalqueLegende.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFillePanel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeDefault.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetCreatorRectangleTexte.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetRectangle.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliActionEditorOneClick.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActiontextEditor.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorCalqueLegende.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrLauncherDefault.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjetRubar.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceComparatorBuilder.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelRubar.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetComponent.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/BCalqueLegende.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/BCalqueLegende.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/BCalqueLegende.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -141,10 +141,14 @@ final BCalqueLegendePanel pnLeg = new BCalqueLegendePanel(_cq, _titre); pnLeg.setName("pnLEGENDE_" + name); cqAffPanels_.put(_cq, pnLeg); - pnLegendes_.add(pnLeg); + addLegendToPanel(pnLeg); return pnLeg; } + protected void addLegendToPanel(final BCalqueLegendePanel pnLeg) { + pnLegendes_.add(pnLeg); + } + protected void isRestoreFromProperties(BCalqueAffichage _cq) { default_.initFrom(_cq.getLegendProperties()); super.setFont(_cq.getLegendProperties().getFont()); @@ -272,7 +276,7 @@ updateProperties(_finalPanel.aff_); cqAffPanels_.put(_finalPanel.aff_, _finalPanel); _finalPanel.aff_.setLegende(this); - pnLegendes_.add(_finalPanel); + addLegendToPanel(_finalPanel); pnLegendes_.revalidate(); if (!lockRefresh_) { repaint(); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -68,8 +68,8 @@ /** * Fenetre d'affichage de calques contenant des services de base. (position souris, zoom fenetre, selection, - * transformations spatiales). Il est possible d'ajouter des boutons grace aux methodes <code>addButtonGroup</code>. - * Par defaut, 3 groupes de boutons sont proposes : selection, standard et navigation. Ils peuvent etre supprimes ou + * transformations spatiales). Il est possible d'ajouter des boutons grace aux methodes <code>addButtonGroup</code>. Par + * defaut, 3 groupes de boutons sont proposes : selection, standard et navigation. Ils peuvent etre supprimes ou * modifies avec les methodes remove * * @version $Id: ZEbliCalquesPanel.java,v 1.55 2007-06-05 08:58:38 deniger Exp $ @@ -171,9 +171,7 @@ } protected BuMenu createMenu(final BCalque _cq) { - if (_cq == null) { - return null; - } + if (_cq == null) { return null; } BuMenu m = null; if (_cq.isGroupeCalque()) { m = new ThemeMenu(_cq, _cq.getTitle(), _cq.getName()); @@ -246,7 +244,7 @@ private BGroupeCalque gcDonnees_; public void setGcDonnees_(BGroupeCalque gcDonnees_) { - + this.gcDonnees_ = gcDonnees_; } @@ -343,9 +341,7 @@ } modelArbre_.refresh(); - if (_controller == null) { - throw new IllegalArgumentException(); - } + if (_controller == null) { throw new IllegalArgumentException(); } controller_ = _controller; controller_.setView(this); } @@ -577,9 +573,7 @@ } public int print(final Graphics _g, final PageFormat _format, final int _numPage) { - if (_numPage != 0) { - return Printable.NO_SUCH_PAGE; - } + if (_numPage != 0) { return Printable.NO_SUCH_PAGE; } final BVueCalque bv = getVueCalque(); final Graphics2D g2d = (Graphics2D) _g; g2d.setColor(Color.black); @@ -809,13 +803,9 @@ /** * Ajoute les calques d'informations. - * - * @param _g le maillage associe */ protected BGroupeCalque addCqInfos() { - if (getCqInfos() != null) { - return getCqInfos(); - } + if (getCqInfos() != null) { return getCqInfos(); } final BGroupeCalque gr = new BGroupeCalque(); gr.setName("gpInfo"); gr.setTitle(EbliLib.getS("infos")); @@ -828,6 +818,29 @@ return gr; } + protected BGroupeCalque addCqInfos(final BCalqueLegende l) { + if (getCqInfos() != null) { return getCqInfos(); } + final BGroupeCalque gr = new BGroupeCalque(); + gr.setName("gpInfo"); + gr.setTitle(EbliLib.getS("infos")); + l.setDestructible(false); + l.setTitle(EbliLib.getS("L\xE9gende")); + l.setName("cqLegende"); + gr.add(l); + vc_.getCalque().enPremier(gr); + return gr; + } + + public void addCqLegende(final BCalqueLegende _leg) { + if (getCqInfos() != null) { + removeCalqueLegend(); + _leg.setName("cqLegende"); + getCqInfos().add(_leg); + } else { + addCqInfos(_leg); + } + } + protected final void removeCqInfos() { vc_.getCalque().detruire(getCqInfos()); } @@ -836,31 +849,23 @@ * @return le calque legende */ public final BCalqueLegende getCqLegend() { - if (getCqInfos() == null) - addCqInfos(); + if (getCqInfos() == null) addCqInfos(); return (BCalqueLegende) getCqInfos().getCalqueParNom("cqLegende"); } protected void removeCalqueLegend() { - getCqInfos().remove(getCqLegend()); + if(getCqLegend()!=null) + getCqInfos().remove(getCqLegend()); // getCqLegend().setVisible(false); } - + public void addCalqueLegend() { getCqInfos().add(getCqLegend()); getCqLegend().setVisible(true); } public void setInfoPaletteActive() { - getController().setInfoPaletteActive(); - - } - - - /** - * Methdoe a surhcarger puor le cas des widgets. - */ - public void addWidgetLegendeCalque() { + getController().setInfoPaletteActive(); } @@ -874,23 +879,18 @@ return selection; } - - public ZEbliCalquesPanel duplicate() { + public ZEbliCalquesPanel duplicate(Map options) { /* * ZEbliCalquesPanel duplic = new ZEbliCalquesPanel(new CtuluUIDefault()); * - * // --pas besoin de duplication des groupes de calques --// - * duplic.gcDonnees_ = new BGroupeCalque(); + * // --pas besoin de duplication des groupes de calques --// duplic.gcDonnees_ = new BGroupeCalque(); * - * // -- mais le contenu si --// BCalque[] contenuAdupliquer = - * this.getDonneesCalque().getCalques(); + * // -- mais le contenu si --// BCalque[] contenuAdupliquer = this.getDonneesCalque().getCalques(); * - * // -- ajout des calques dupliques un a un --// for (int i = 0; i < - * contenuAdupliquer.length; i++) { + * // -- ajout des calques dupliques un a un --// for (int i = 0; i < contenuAdupliquer.length; i++) { * duplic.addCalque(contenuAdupliquer[i].duplicate()); } */ return null; } - - + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFillePanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFillePanel.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFillePanel.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -89,6 +89,8 @@ addMouseListener(_a.getRepereController()); addMouseWheelListener(_a.getRepereController()); lbTools_ = new JLabel(); + //le nom est important et r\xE9utilis\xE9 par d'autres + lbTools_.setName("lbTools"); lbTools_.setFont(BuLib.deriveFont("Label", Font.PLAIN, -2)); lbTools_.setPreferredSize(new Dimension(200, 20)); lbTools_.setSize(new Dimension(100, 20)); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeDefault.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeDefault.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeDefault.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -2,11 +2,14 @@ import java.awt.Dimension; import java.awt.Point; +import java.util.HashMap; import java.util.Map; import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorVueCalque; import org.fudaa.ebli.visuallibrary.graphe.EbliWidgetCreatorGraphe; +import com.sun.org.apache.bcel.internal.generic.GETSTATIC; + public class EbliNodeDefault implements EbliNode { EbliWidgetCreator creator; @@ -41,9 +44,10 @@ .setCreator(new EbliWidgetCreatorGraphe(((EbliWidgetCreatorGraphe) getCreator()).getGraphe().duplicate())); } else if (creator instanceof EbliWidgetCreatorVueCalque) { - + Map duplicOptions=new HashMap(); + duplicOptions.put("scene", getCreator().getWidget().getEbliScene()); duplique.setCreator(new EbliWidgetCreatorVueCalque(((EbliWidgetCreatorVueCalque) getCreator()).getCalque() - .duplicate())); + .duplicate(duplicOptions))); } else if (creator instanceof EbliWidgetCreatorShape) { Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetComponent.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetComponent.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetComponent.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -0,0 +1,190 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.ebli.visuallibrary; + +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Graphics2D; +import java.awt.Rectangle; +import java.awt.event.ComponentEvent; +import java.awt.event.ComponentListener; +import java.awt.geom.AffineTransform; + +import javax.swing.JComponent; + +import org.netbeans.api.visual.widget.Scene; + +/** + * @author deniger + */ +public class EbliWidgetComponent extends EbliWidget { + + private Component component; + private boolean componentAdded; + private boolean widgetAdded; + private double zoomFactor = Double.MIN_VALUE; + private ComponentSceneListener validateListener; + private ComponentComponentListener componentListener; + private boolean componentVisible = false; + + /** + * Creates a component widget. + * + * @param scene the scene + * @param component the AWT/Swing component + */ + public EbliWidgetComponent(EbliScene scene, Component component) { + super(scene); + this.component = component; + validateListener = null; + componentListener = new ComponentComponentListener(); + setComponentVisible(true); + } + + /** + * Returns a AWT/Swing component. + * + * @return the AWT/Swing component + */ + public final Component getComponent() { + return component; + } + + /** + * Returns whether the component should be visible. + * + * @return true if the component is visible + */ + public final boolean isComponentVisible() { + return componentVisible; + } + + /** + * Sets whether the component should be visible. + * + * @param componentVisible if true, then the component is visible + */ + public final void setComponentVisible(boolean componentVisible) { + if (this.componentVisible == componentVisible) return; + this.componentVisible = componentVisible; + attach(); + revalidate(); + } + + protected final void notifyAdded() { + widgetAdded = true; + attach(); + } + + protected final void notifyRemoved() { + widgetAdded = false; + } + + private void attach() { + if (validateListener != null) return; + validateListener = new ComponentSceneListener(); + getScene().addSceneListener(validateListener); + } + + private void detach() { + if (validateListener == null) return; + getScene().removeSceneListener(validateListener); + validateListener = null; + } + + /** + * Calculates a client area from the preferred size of the component. + * + * @return the calculated client area + */ + protected final Rectangle calculateClientArea() { + Dimension preferredSize = component.getPreferredSize(); + zoomFactor = getScene().getZoomFactor(); + preferredSize.width = (int) Math.floor(preferredSize.width / zoomFactor); + preferredSize.height = (int) Math.floor(preferredSize.height / zoomFactor); + return new Rectangle(preferredSize); + } + + private void addComponent() { + Scene scene = getScene(); + if (!componentAdded) { + scene.getView().add(component); + scene.getView().revalidate(); + component.addComponentListener(componentListener); + componentAdded = true; + } + component.removeComponentListener(componentListener); + component.setBounds(scene.convertSceneToView(convertLocalToScene(getClientArea()))); + component.addComponentListener(componentListener); + component.repaint(); + } + + private void removeComponent() { + Scene scene = getScene(); + if (componentAdded) { + component.removeComponentListener(componentListener); + scene.getView().remove(component); + scene.getView().revalidate(); + componentAdded = false; + } + } + + /** + * Paints the component widget. + */ + protected final void paintWidget() { + if (!componentVisible) { + boolean isDoubleBuffered = component instanceof JComponent && component.isDoubleBuffered(); + if (isDoubleBuffered) ((JComponent) component).setDoubleBuffered(false); + Graphics2D graphics = getGraphics(); + Rectangle bounds = getClientArea(); + AffineTransform previousTransform = graphics.getTransform(); + graphics.translate(bounds.x, bounds.y); + double zoomFactor = getScene().getZoomFactor(); + graphics.scale(1 / zoomFactor, 1 / zoomFactor); + component.print(graphics); + graphics.setTransform(previousTransform); + if (isDoubleBuffered) ((JComponent) component).setDoubleBuffered(isDoubleBuffered); + } + } + + private final class ComponentSceneListener implements Scene.SceneListener { + + public void sceneRepaint() {} + + public void sceneValidating() { + double newZoomFactor = getScene().getZoomFactor(); + if (Math.abs(newZoomFactor - zoomFactor) != 0.0) { + revalidate(); + zoomFactor = newZoomFactor; + } + } + + public void sceneValidated() { + if (widgetAdded && componentVisible) addComponent(); + else { + removeComponent(); + detach(); + } + } + } + + private final class ComponentComponentListener implements ComponentListener { + + public void componentResized(ComponentEvent e) { + revalidate(); + } + + public void componentMoved(ComponentEvent e) { + revalidate(); + } + + public void componentShown(ComponentEvent e) {} + + public void componentHidden(ComponentEvent e) {} + + } + +} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetCreatorRectangleTexte.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetCreatorRectangleTexte.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetCreatorRectangleTexte.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -1,6 +1,5 @@ package org.fudaa.ebli.visuallibrary; -import org.fudaa.ebli.courbe.EGGraphe; public class EbliWidgetCreatorRectangleTexte implements EbliWidgetCreator { Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetRectangle.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetRectangle.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetRectangle.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -19,7 +19,7 @@ * Legende Widget qui permet de construire des rectangles avec du texte * * @author Adrien Hadoux - * + * TODO a generaliser avec autre chose qu'un LabelWidget */ public class EbliWidgetRectangle extends EbliWidget implements TextFieldInplaceEditor { Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliActionEditorOneClick.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliActionEditorOneClick.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliActionEditorOneClick.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -46,6 +46,8 @@ */ public State mouseClicked(Widget widget, WidgetMouseEvent event) { if (event.getButton() == MouseEvent.BUTTON1 /*&& event.getClickCount() == 2*/) { + Point p=event.getPoint(); + if(widget.getClientArea().contains(p)) if (openEditor(widget)) return State.createLocked(widget, this); } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActiontextEditor.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActiontextEditor.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActiontextEditor.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -15,7 +15,7 @@ /** * Classe qui genere une widget editeur de texte. - * + * TODO a enlever * @author Adrien Hadoux * */ Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorCalqueLegende.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorCalqueLegende.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorCalqueLegende.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -1,42 +1,39 @@ package org.fudaa.ebli.visuallibrary.calque; -import java.awt.Dimension; - import org.fudaa.ebli.calque.BCalqueLegendePanel; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.EbliWidget; +import org.fudaa.ebli.visuallibrary.EbliWidgetComponent; import org.fudaa.ebli.visuallibrary.EbliWidgetCreator; public class EbliWidgetCreatorCalqueLegende implements EbliWidgetCreator { BCalqueLegendePanel calque; - EbliWidgetCalqueLegende res; - - - public BCalqueLegendePanel getCalque() { - return calque; - } + EbliWidget res; - public void setCalque(BCalqueLegendePanel calque) { - this.calque = calque; - } - - - public EbliWidgetCreatorCalqueLegende(BCalqueLegendePanel legende) { super(); this.calque = legende; } public EbliWidget create(EbliScene _scene) { - res = new EbliWidgetCalqueLegende(_scene, calque); - res.setPreferredSize(new Dimension(200, 200)); + // calque.setPreferredSize(new Dimension(200, 200)); + res = new EbliWidgetComponent(_scene, calque); + res.setCheckClipping(true); return res; } + public BCalqueLegendePanel getCalque() { + return calque; + } + public EbliWidget getWidget() { // TODO Auto-generated method stub return res; } + public void setCalque(BCalqueLegendePanel calque) { + this.calque = calque; + } + } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -66,10 +66,11 @@ // GrBoite zoom_; - public EbliWidgetVueCalque(EbliScene scene, ZEbliCalquesPanel vue) { - super(scene); - calquePanel_ = vue; - calquePanel_.setBorder(BuBorders.EMPTY1111); + public EbliWidgetVueCalque(EbliScene _scene, ZEbliCalquesPanel _vue) { + super(_scene); + calquePanel_ = _vue; + calquePanel_.setBorder(null); +// calquePanel_.setBorder(BuBorders.EMPTY1111); // FIXME a enlever par la suite setPreferredSize(new Dimension(500, 400)); @@ -85,6 +86,7 @@ WidgetAction editorAction = new EbliActionEditorOneClick<BuPanel>(this); // -- ajout de l action au widget correspondant --// this.getActions().addAction(editorAction); + _vue.addCqLegende(new EbliWidgetCalqueLegende(_scene)); } @@ -120,7 +122,7 @@ image = null; getEbliScene().refresh(); - calquePanel_.setBorder(BuBorders.EMPTY1111); +// calquePanel_.setBorder(BuBorders.EMPTY1111); this.repaint(); } @@ -193,6 +195,8 @@ protected void paintWidget() { Rectangle rec = getClientArea(); + rec.width-=1; + rec.height-=1; Graphics2D g = getGraphics(); if (frame_ == null) { @@ -268,7 +272,7 @@ // EbliWidgetVueCalque.this.getEbliScene().addNode(nodeLegende); // methode qui permet d ajouter une legemde - calquePanel_.addWidgetLegendeCalque(); +// calquePanel_.addWidgetLegendeCalque(); EbliWidgetVueCalque.this.getEbliScene().refresh(); } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -22,6 +22,7 @@ import javax.swing.SwingUtilities; import org.fudaa.ctulu.CtuluResource; +import org.fudaa.ctulu.gui.CtuluLibSwing; import org.fudaa.ctulu.image.CtuluLibImage; import org.fudaa.ebli.courbe.EGAxe; import org.fudaa.ebli.courbe.EGConfigureActionPalette; @@ -48,7 +49,6 @@ * widget qui contient un objet graphe * * @author adrien hadoux - * */ public class EbliWidgetGraphe extends EbliWidget implements /* EditProvider */InplaceEditorProvider<BuPanel>, EGGrapheModelListener { @@ -58,7 +58,7 @@ EGFillePanel panelGraphe_; BuPanel conteneurEditor; - + private EbliNodeDefault nodeLegende = null; public Color couleurContour = Color.black; @@ -76,23 +76,21 @@ public EbliWidgetGraphe(EbliScene scene, Point preferredLocation, EGFillePanel _pn) { super(scene); panelGraphe_ = _pn; + panelGraphe_.setBorder(null); + panelGraphe_.remove(CtuluLibSwing.findChildByName(panelGraphe_, "lbTools")); // WidgetAction editorAction = ActionFactory.createEditAction(this); // WidgetAction editorAction = // ActionFactory.createInplaceEditorAction(this); WidgetAction editorAction = new EbliActionEditorOneClick<BuPanel>(this); // -- ajout de l action au widget correspondant --// this.getActions().addAction(editorAction); - - + panelGraphe_.getGraphe().getModel().addModelListener(this); - + } public EbliWidgetGraphe(EbliScene scene, Point preferredLocation, EGGraphe _graphe) { this(scene, preferredLocation, new EGFillePanel(_graphe)); - // -- creation de l action pour editor --// - // WidgetAction editorAction = - // ActionFactory.createInplaceEditorAction(this); } @@ -101,7 +99,7 @@ protected void paintWidget() { Rectangle rec = getClientArea(); Graphics2D g = getGraphics(); - g.translate(rec.x, rec.y); +// g.translate(rec.x, rec.y); if (frame_ == null) { getGraphe().setSize(rec.width - 1, rec.height - 1); @@ -109,20 +107,18 @@ // getGraphe().dessine(g, rec.width - 1, rec.height - 1, false); } - // mode edition if (image == null || image.getWidth() != rec.width || image.getHeight() != rec.height) { FuLog.debug("EWI: recreate image"); Map params = new HashMap(); CtuluLibImage.setCompatibleImageAsked(params); // a ameliorer: il ne faudrait pas recreer l'image a chaque fois - image = getGraphe().produceImage(rec.width, rec.height, params); + image = getGraphe().produceImage(rec.width-1, rec.height-1, params); } - g.drawImage(image, rec.x, rec.y, rec.width, rec.height, null); - + g.drawImage(image, rec.x, rec.y, rec.width-1, rec.height-1, null); - g.translate(-rec.x, -rec.y); +// g.translate(-rec.x, -rec.y); } /** @@ -133,19 +129,17 @@ public JPopupMenu getPopupMenu(Widget widget, Point localLocation) { JPopupMenu popup = new JPopupMenu(); - - // -- Menu sp\xF6cifiques a l'application--// + // -- Menu sp\xF6cifiques a l'application--// constructPopupMenuSpecifique(popup); - + // -- creation du menu commun a tous les widgets constructPopupMenuBase(popup); - return popup; } })); } - + /** * ajoutant la possibilit\xE9 de configurer la courbe ainsi que la l\xE9gende * @@ -179,7 +173,7 @@ nodeLegende.setPreferedSize(new Dimension(100, 100)); EbliWidgetGraphe.this.getEbliScene().addNode(nodeLegende); - //widgetLegende=WidgetLegendeManager.createLegende(EbliWidgetGraphe. + // widgetLegende=WidgetLegendeManager.createLegende(EbliWidgetGraphe. // this.getGraphe(), // EbliWidgetGraphe.this.getScene_(),nouvellePosition); EbliWidgetGraphe.this.getEbliScene().refresh(); @@ -192,41 +186,37 @@ }); // -- creation du menu config de la courbe - + _popup.add(new EGConfigureActionPalette(getGraphe().getModel())); - } public BuPanel createEditorComponent( org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget) { - conteneurEditor = new BuPanel(new BorderLayout()); - conteneurEditor.add(this.panelGraphe_, BorderLayout.CENTER); + // conteneurEditor = new BuPanel(new BorderLayout()); + // conteneurEditor.add(this.panelGraphe_, BorderLayout.CENTER); - BuButton fonctionsCompletes = new BuButton("Ouvrir dans une fen\xEAtre", BuResource.BU.getIcon("crystal_valider")); - fonctionsCompletes.addActionListener(new ActionListener() { + // BuButton fonctionsCompletes = new BuButton("Ouvrir dans une fen\xEAtre", BuResource.BU.getIcon("crystal_valider")); + // fonctionsCompletes.addActionListener(new ActionListener() { + // + // public void actionPerformed(ActionEvent e) { + // // Cree la frame de docking associee au graphe + // edit(EbliWidgetGraphe.this); + // } + // + // }); + // conteneurEditor.add(fonctionsCompletes, BorderLayout.SOUTH); - public void actionPerformed(ActionEvent e) { - // Cree la frame de docking associee au graphe - edit(EbliWidgetGraphe.this); - } - - }); - conteneurEditor.add(fonctionsCompletes, BorderLayout.SOUTH); - - return conteneurEditor; + return panelGraphe_; } - public void notifyClosing(org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, - Widget widget, BuPanel editor, boolean commit) { - } + Widget widget, BuPanel editor, boolean commit) {} // TODO a changer pour ne recreer tout plein de listener a chaque fois /** - * Ancienne version de edit(). genere une frame complete pour prametrer le - * graphe. + * Ancienne version de edit(). genere une frame complete pour prametrer le graphe. */ public void edit(Widget _widget) { if (frame_ != null) frame_.toFront(); @@ -256,7 +246,7 @@ image = null; getEbliScene().refresh(); frame_ = null; - + // YODA:RAJOUTER LE GRAPHE DANS EDITOR TU DOIS CAR DANS FRAME IL // EST conteneurEditor.add(panelGraphe_, BorderLayout.CENTER); @@ -270,7 +260,6 @@ } - public EnumSet<org.netbeans.api.visual.action.InplaceEditorProvider.ExpansionDirection> getExpansionDirections( org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget, BuPanel editor) { return null; @@ -279,14 +268,14 @@ public Rectangle getInitialEditorComponentBounds( org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget, BuPanel editor, Rectangle viewBounds) { - return null; + Rectangle rec= convertLocalToScene(getClientArea()); + rec.width-=1; + rec.height-=1; + return rec; } - - public void notifyOpened(org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, - Widget widget, BuPanel editor) { - } + Widget widget, BuPanel editor) {} public void axeAspectChanged(EGAxe _c) { // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre @@ -295,25 +284,25 @@ } public void axeContentChanged(EGAxe _c) { - // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre + // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre this.image = null; this.repaint(); } public void courbeAspectChanged(EGObject _c, boolean _visibil) { - // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre + // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre this.image = null; this.repaint(); } public void courbeContentChanged(EGObject _c, boolean restore) { - // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre + // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre this.image = null; this.repaint(); } public void structureChanged() { - // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre + // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre this.image = null; this.repaint(); } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -463,7 +463,7 @@ bar.add(new EbliWidgetActionImageChooser(scene)); - bar.add(new EbliWidgetActiontextEditor(scene)); +// bar.add(new EbliWidgetActiontextEditor(scene)); p.doLayout(); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrLauncherDefault.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrLauncherDefault.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrLauncherDefault.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -134,8 +134,8 @@ infoSoft = new BuInformationsSoftware(); infoSoft.name = "prepro"; - infoSoft.version = "0.92-MAQUETTE"; - infoSoft.date = "2008-08-18"; + infoSoft.version = "0.92-MAQUETTE-V2"; + infoSoft.date = "2008-08-26"; infoSoft.rights = TrResource.getS("Tous droits r\xE9serv\xE9s") + ". CETMEF (c)2003-2007"; infoSoft.contact = "fre...@fu..."; infoSoft.license = "GPL2"; Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -26,6 +26,8 @@ import org.fudaa.ebli.courbe.EGFillePanel; import org.fudaa.ebli.courbe.EGGraphe; import org.fudaa.ebli.courbe.EGGrapheTreeModel; +import org.fudaa.ebli.courbe.EGSpecificActions; +import org.fudaa.ebli.courbe.EGTree; import org.fudaa.ebli.visuallibrary.EbliNode; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionConfigure; @@ -45,12 +47,10 @@ import com.memoire.bu.BuToolBar; import com.memoire.bu.BuUndoRedoInterface; - /** * InternalFrame qui contient la scene EbliScene. * * @author Adrien Hadoux - * */ public class TrPostLayoutFille extends BuInternalFrame implements CtuluFilleWithComponent, CtuluUndoRedoInterface, BuUndoRedoInterface, BuCutCopyPasteInterface, ObjectSceneListener { @@ -76,12 +76,11 @@ * Toolbar modifiable qui se met a jour selon la selection de la widget. */ BuToolBar toolBarModifiable_ = new BuToolBar(); - + BuMenuBar menuModifiable_ = new BuMenuBar(); - + /** - * Scroll qui contient le tree a droite. Ce panel est modifi\xE9 des que l on - * change de type d elements. + * Scroll qui contient le tree a droite. Ce panel est modifi\xE9 des que l on change de type d elements. */ JScrollPane panelTreeModifiable_; @@ -89,12 +88,12 @@ * Panel qui contient le tree modifiable */ JPanel conteneurTree_; - + /** * bouton qui permet de masquer/afficher le tree */ JButton toggleTree_; - + /** * Constructeur de la fenetre. */ @@ -104,18 +103,16 @@ // creation de la scene EBLI controller_ = new TrPostLayoutPanelController(new TrPostScene(), _projet); setContentPane(controller_.getPanel()); - + // -- enregistrement de this comem listener de la scene pour le type d objet // selection changed--// controller_.getScene().addObjectSceneListener(this, ObjectSceneEventType.OBJECT_SELECTION_CHANGED); - - - + // -- ajout de la toolbar et du menu en haut --// toolBarModifiable_.setFloatable(false); this.add(toolBarModifiable_, BorderLayout.NORTH); this.setJMenuBar(menuModifiable_); - + // -- init du panel de choix des trees --// panelTreeModifiable_ = new JScrollPane(controller_.createTree()); @@ -127,9 +124,8 @@ * @param _preferedDimension * @param _calque * @return - * @see org.fudaa.fudaa.tr.post.TrPostLayoutPanelController#addCalque(java.lang.String, - * java.awt.Point, java.awt.Dimension, - * org.fudaa.ebli.calque.ZEbliCalquesPanel) + * @see org.fudaa.fudaa.tr.post.TrPostLayoutPanelController#addCalque(java.lang.String, java.awt.Point, + * java.awt.Dimension, org.fudaa.ebli.calque.ZEbliCalquesPanel) */ public EbliNode addCalque(String _title, Point _preferredLocation, Dimension _preferedDimension, ZEbliCalquesPanel _calque) { @@ -165,30 +161,28 @@ over.add(pane, BorderLayout.CENTER); pane.add(getScene().createSatelliteView()); right.add(over, BorderLayout.NORTH); - - + pane = new JXCollapsiblePane(); toggleTree_ = new JButton(pane.getActionMap().get(JXCollapsiblePane.TOGGLE_ACTION)); toggleTree_.setText("Composants"); - + panelTreeModifiable_ = new JScrollPane(controller_.createTree()); - // right.add(panelTreeModifiable_, BorderLayout.CENTER); + // right.add(panelTreeModifiable_, BorderLayout.CENTER); conteneurTree_ = new JPanel(new BorderLayout()); conteneurTree_.add(toggleTree_, BorderLayout.NORTH); conteneurTree_.add(pane, BorderLayout.CENTER); pane.add(panelTreeModifiable_); right.add(conteneurTree_, BorderLayout.CENTER); - + // --verification qu il n existe pas de composant sur la scene auquel cas, // selection automatique pour modification --// - if(controller_!=null){ - Set<EbliNode> noeudContenus = (Set<EbliNode>) controller_.getScene().getObjects(); - if(noeudContenus.size()==1) - getScene().setSelectedObjects(noeudContenus); - getScene().refresh(); + if (controller_ != null) { + Set<EbliNode> noeudContenus = (Set<EbliNode>) controller_.getScene().getObjects(); + if (noeudContenus.size() == 1) getScene().setSelectedObjects(noeudContenus); + getScene().refresh(); + } } - } return right; } @@ -229,8 +223,7 @@ } /** - * Methode utilisee dans la classe fille TrPostFille pour recuperer le calque - * principal et enregistrer. + * Methode utilisee dans la classe fille TrPostFille pour recuperer le calque principal et enregistrer. * * @return */ @@ -238,8 +231,7 @@ return getCalquePrincipal(); } - public void majComponent(Object _o) { - } + public void majComponent(Object _o) {} public void redo() { final CtuluCommandManager c = getCmdMng(); @@ -248,8 +240,7 @@ } } - public void setActive(final boolean _b) { - } + public void setActive(final boolean _b) {} public void undo() { final CtuluCommandManager c = getCmdMng(); @@ -258,47 +249,43 @@ } } - // liste des noeuds copies Set<EbliNode> nodesCopyied = null; // liste des noeuuds coupes Set<EbliNode> nodesCutted = null; + public void copy() { JOptionPane.showMessageDialog(null, "copy()"); // on copie la widget selectionnee // ie on fait une duplication partielle // on ajoute pas tout de suite le noeud dans la scene - - - //--recuperation des noeuds a copier --// + + // --recuperation des noeuds a copier --// nodesCopyied = (Set<EbliNode>) getScene().getSelectedObjects(); - + // -- reinit de la commande cut si on voulait faire un ctrl+x nodesCutted = null; } public void cut() { JOptionPane.showMessageDialog(null, "cut()"); - + // --recuperation des noeuds a copier --// nodesCutted = (Set<EbliNode>) getScene().getSelectedObjects(); - // enlever les nodes de la scene for (Iterator<EbliNode> it = nodesCutted.iterator(); it.hasNext();) { EbliNode node = it.next(); // le node existe toujours apres l'avoir enleve getScene().removeNode(node); - - - + } - + // reinit de la liste des noeuds a copier au cas ou on change d avis nodesCopyied = null; - + } public void duplicate() { @@ -306,26 +293,24 @@ } public void paste() { - - //TODO a ameliorer : TENIR COMPTE DE LA POSITION DE LA SOURIS - + + // TODO a ameliorer : TENIR COMPTE DE LA POSITION DE LA SOURIS + JOptionPane.showMessageDialog(null, "paste()"); - + // --recuperation des noeuds copies --// if (nodesCopyied != null) { - - - for (Iterator<EbliNode> it = nodesCopyied.iterator(); it.hasNext();) { - EbliNode node = it.next(); - // --duplication du node --// - node.duplicate(null); - } - // reinititalisation de la liste + + for (Iterator<EbliNode> it = nodesCopyied.iterator(); it.hasNext();) { + EbliNode node = it.next(); + // --duplication du node --// + node.duplicate(null); + } + // reinititalisation de la liste nodesCopyied = null; - - }else if (nodesCutted != null) { - - + + } else if (nodesCutted != null) { + for (Iterator<EbliNode> it = nodesCutted.iterator(); it.hasNext();) { EbliNode node = it.next(); // --ajout du node --// @@ -333,73 +318,56 @@ } // reinit de la liste nodesCutted = null; + } } - } // ---methode du listener d ecoute de la scene /** - * Called to notify that an object was added to an object scene. This is - * called when an object-widget mapping is registered in an ObjectScene only. - * At the moment of the call, the object is still not reqistered in the - * Graph*Scene classes yet. Therefore do not use the methods of Graph*Scene. + * Called to notify that an object was added to an object scene. This is called when an object-widget mapping is + * registered in an ObjectScene only. At the moment of the call, the object is still not reqistered in the Graph*Scene + * classes yet. Therefore do not use the methods of Graph*Scene. * * @param event * @param addedObject */ - public void objectAdded(ObjectSceneEvent event, Object addedObject) { - } + public void objectAdded(ObjectSceneEvent event, Object addedObject) {} /** - * Called to notify that an object was removed from an object scene. This is - * called when an object-widget mapping is unregistered in an ObjectScene and - * Graph*Scene classes. At the moment of the call, a widget (visual - * representation of the object) is still in the scene. Therefore do not rely - * on a tree of widgets of the scene. + * Called to notify that an object was removed from an object scene. This is called when an object-widget mapping is + * unregistered in an ObjectScene and Graph*Scene classes. At the moment of the call, a widget (visual representation + * of the object) is still in the scene. Therefore do not rely on a tree of widgets of the scene. * - * @param event - * the object scene event - * @param removedObject - * the removed object + * @param event the object scene event + * @param removedObject the removed object */ - public void objectRemoved(ObjectSceneEvent event, Object removedObject) { - } + public void objectRemoved(ObjectSceneEvent event, Object removedObject) {} /** - * Called to notify that the object state of an object is changed. This method - * is always called before any other ObjectSceneListener method is called. + * Called to notify that the object state of an object is changed. This method is always called before any other + * ObjectSceneListener method is called. * - * @param event - * the object scene event - * @param changedObject - * the object with changed object state - * @param previousState - * the previous object state - * @param newState - * the new object state + * @param event the object scene event + * @param changedObject the object with changed object state + * @param previousState the previous object state + * @param newState the new object state */ public void objectStateChanged(ObjectSceneEvent event, Object changedObject, ObjectState previousState, - ObjectState newState) { - } + ObjectState newState) {} /** * Called to notify that the object-selection is changed. * - * @param event - * the object scene event - * @param previousSelection - * the set of previously selected objects - * @param newSelection - * the set of newly selected objects + * @param event the object scene event + * @param previousSelection the set of previously selected objects + * @param newSelection the set of newly selected objects */ public void selectionChanged(ObjectSceneEvent event, Set<Object> previousSelection, Set<Object> newSelection) { - - + // cas ou de multiples objets sont selectionnes, on ne fait rien pour le // moment // A voir pour une fonctionnalit\xE9 magique - if (newSelection != null && newSelection.size() > 1) - return; + if (newSelection != null && newSelection.size() > 1) return; else if (newSelection == null || newSelection.size() == 0) { // -- cas particulier: on met le tree des calques et pas de toolbar --// changeTreeScene(); @@ -407,132 +375,118 @@ return; } EbliNode node = (EbliNode) newSelection.iterator().next(); - + + // TODO a gerer de maniere Generique + // 3 cas pour le moment: graphe ou calque ou rien - if(!node.hasWidget()) - return; + if (!node.hasWidget()) return; if (node.getCreator() instanceof EbliWidgetCreatorVueCalque) { - // -- etape 1: ajout du tree de calque dans fudaaImplementation --// changeTreeCalque(((EbliWidgetCreatorVueCalque) node.getCreator()).getCalque()); - + // -- etape 2: rechargement de la toolbar specifique dans this --// changeToolbarCalque(((EbliWidgetCreatorVueCalque) node.getCreator()).getCalque()); - - + } else if (node.getCreator() instanceof EbliWidgetCreatorGraphe) { - - + // -- etape 1: ajout du tree de graphe dans fudaaImplementation --// changeTreeGraphe(((EbliWidgetCreatorGraphe) node.getCreator()).getGraphe()); // -- etape 2: rechargement de la toolbar specifique dans this --// changeToolbarGraphe(((EbliWidgetCreatorGraphe) node.getCreator()).getGraphePanel()); } else { - + // -- etape 1: on fout eventuellement le tree des layouts --// changeTreeScene(); // -- etape 2: rechargement de la toolbar specifique dans this --// changeToolbarScene(); } - + } /** * Called to notify that the object-highlighting is changed. * - * @param event - * the object scene event - * @param previousHighlighting - * the set of previously highlighted objects - * @param newHighlighting - * the set of newly highlighted objects + * @param event the object scene event + * @param previousHighlighting the set of previously highlighted objects + * @param newHighlighting the set of newly highlighted objects */ - public void highlightingChanged(ObjectSceneEvent event, Set<Object> previousHighlighting, Set<Object> newHighlighting) { - } + public void highlightingChanged(ObjectSceneEvent event, Set<Object> previousHighlighting, Set<Object> newHighlighting) {} /** * Called to notify that the object-hovering is changed. * - * @param event - * the object scene event - * @param previousHoveredObject - * the previous hovered object; null if there was no hovered object - * @param newHoveredObject - * the new hovered object; null if there is no hovered object + * @param event the object scene event + * @param previousHoveredObject the previous hovered object; null if there was no hovered object + * @param newHoveredObject the new hovered object; null if there is no hovered object */ - public void hoverChanged(ObjectSceneEvent event, Object previousHoveredObject, Object newHoveredObject) { - } + public void hoverChanged(ObjectSceneEvent event, Object previousHoveredObject, Object newHoveredObject) {} /** * Called to notify that the object-focus is changed. * - * @param event - * the object scene event - * @param previousFocusedObject - * the previously focused object; null if there was no focused object - * @param newFocusedObject - * the newly focused object; null if there is no focused object + * @param event the object scene event + * @param previousFocusedObject the previously focused object; null if there was no focused object + * @param newFocusedObject the newly focused object; null if there is no focused object */ - public void focusChanged(ObjectSceneEvent event, Object previousFocusedObject, Object newFocusedObject) { - } + public void focusChanged(ObjectSceneEvent event, Object previousFocusedObject, Object newFocusedObject) {} - { - } + {} /** - * Methode qui met a jour le tree de droite avec le tree du calque - * selectionne. + * Methode qui met a jour le tree de droite avec le tree du calque selectionne. * * @param calque */ private void changeTreeCalque(ZEbliCalquesPanel _calque) { - conteneurTree_.remove(panelTreeModifiable_); - + // JComponent component = EbliWidgetEditCreator.createView(new // BArbreCalque(_calque.getArbreCalqueModel()), // EbliResource.EBLI.getToolIcon("arbre"), "Calques", false); + //TODO dangereux car chaque arbre s'enregistre en tant que listener du calque et il ne d\xE9sabonne jamais. panelTreeModifiable_ = new JScrollPane(new BArbreCalque(_calque.getArbreCalqueModel())); // panelTreeModifiable_ = new JScrollPane(component); - + this.toggleTree_.setText("Calques"); - + conteneurTree_.add(panelTreeModifiable_, BorderLayout.CENTER); // mise a jour du panel conteneurTree_.validate(); panelTreeModifiable_.revalidate(); } - + /** - * Methode qui met a jour le tree de droite avec le tree du graphe - * selectionne. + * Methode qui met a jour le tree de droite avec le tree du graphe selectionne. * * @param _graphe */ private void changeTreeGraphe(EGGraphe _graphe) { - conteneurTree_.remove(panelTreeModifiable_); // JComponent component = EbliWidgetEditCreator.createView(new // JTree((EGGrapheTreeModel) _graphe.getModel()), // EbliResource.EBLI.getToolIcon("arbre"), "Courbes", false); - - //POUR TOI LA FORCE AVOIR LE SELECTION MODEL A TOI ATTACHER TU DOIS// - JTree yoda = new JTree((EGGrapheTreeModel) _graphe.getModel()); - yoda.setSelectionModel(((EGGrapheTreeModel) _graphe.getModel()).getSelectionModel()); - panelTreeModifiable_ = new JScrollPane(yoda); - if (this.toggleTree_ != null) - this.toggleTree_.setText("Courbes"); + + // POUR TOI LA FORCE AVOIR LE SELECTION MODEL A TOI ATTACHER TU DOIS// + // utiliser EGTree + EGTree tree = new EGTree(); + tree.setExpandsSelectedPaths(true); + tree.setActions(new EGSpecificActions(_graphe)); + EGGrapheTreeModel treeModel = (EGGrapheTreeModel) _graphe.getModel(); + tree.setModel(treeModel); + tree.setSelectionModel(treeModel.getSelectionModel()); + panelTreeModifiable_ = new JScrollPane(tree); + if (this.toggleTree_ != null) this.toggleTree_.setText("Courbes"); // panelTreeModifiable_ = new JScrollPane(component); conteneurTree_.add(panelTreeModifiable_, BorderLayout.CENTER); // mise a jour du panel conteneurTree_.validate(); panelTreeModifiable_.revalidate(); - + } - + /** * Met a jour le tree a droite si ni un graphe ni un calque n est selectionn\xE9. */ @@ -543,28 +497,26 @@ // EbliResource.EBLI // .getToolIcon("arbre"), "Composants", false); - panelTreeModifiable_ = new JScrollPane(controller_.createTree()); - if (this.toggleTree_ != null) - this.toggleTree_.setText("Liste des composants"); + panelTreeModifiable_ = new JScrollPane(controller_.createTree()); + if (this.toggleTree_ != null) this.toggleTree_.setText("Liste des composants"); // panelTreeModifiable_ = new JScrollPane(component); conteneurTree_.add(panelTreeModifiable_, BorderLayout.CENTER); // mise a jour du panel conteneurTree_.validate(); panelTreeModifiable_.revalidate(); } - - + /** * Methode qui modifie la toolbar associee au calque selectionne * * @param _calque */ private void changeToolbarCalque(ZEbliCalquesPanel _calque) { - + // nettoyage de la toolbar toolBarModifiable_.removeAll(); menuModifiable_.removeAll(); - + // ajout des tool specifiques du calque List actions = _calque.getController().getActions(); for (Iterator iterator = actions.iterator(); iterator.hasNext();) { @@ -575,29 +527,28 @@ toolBarModifiable_.add(object.buildToolButton(EbliComponentFactory.INSTANCE)); } } - + // ajout des menus specifiques pour le calque JMenu[] specificMenus = _calque.getSpecificMenus(EbliLib.getS("Vue 2D")); for (int i = 0; i < specificMenus.length; i++) { menuModifiable_.add(specificMenus[i]); } - + // mise a jour des params toolBarModifiable_.revalidate(); menuModifiable_.revalidate(); this.setJMenuBar(menuModifiable_); this.revalidate(); - + } - + private void changeToolbarGraphe(EGFillePanel _graphe) { // nettoyage de la toolbar toolBarModifiable_.removeAll(); menuModifiable_.removeAll(); - - + // ajout des toolbar specifiques du calque EbliActionInterface[] specificInterfaces = _graphe.getSpecificActions(); for (int i = 0; i < specificInterfaces.length; i++) { @@ -608,24 +559,24 @@ toolBarModifiable_.add(object.buildToolButton(EbliComponentFactory.INSTANCE)); } } - + // ajout des menus specifiques JMenu menu = new JMenu("Menu graphe"); _graphe.fillSpecificMenu(menu); menuModifiable_.add(menu); - + // mise a jour des params toolBarModifiable_.revalidate(); menuModifiable_.revalidate(); this.setJMenuBar(menuModifiable_); this.revalidate(); } - + private void changeToolbarScene() { // nettoyage de la toolbar toolBarModifiable_.removeAll(); menuModifiable_.removeAll(); - + toolBarModifiable_.add(new EbliWidgetActionConfigure(controller_.getScene())); JMenu menu = new JMenu("Configurer"); menu.add(new EbliWidgetActionConfigure(controller_.getScene())); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -39,6 +39,7 @@ import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionImageChooser; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageHorizontal; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageVertical; +import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCalqueLegende; import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorCalqueLegende; import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorVueCalque; import org.fudaa.ebli.visuallibrary.creator.ShapeCreatorCircle; @@ -429,7 +430,7 @@ "WIDGETRECALQUE") { public void actionPerformed(ActionEvent _evt) { - TrPostVisuPanel pnVisu =new TrPostVisuPanel(projet_.getImpl(),projet_); + TrPostVisuPanel pnVisu =new TrPostVisuPanel(projet_.getImpl(),projet_,new EbliWidgetCalqueLegende(getScene())); addCalque("Calque principal", pnVisu.getLocation(), pnVisu.getPreferredSize(), pnVisu); } }); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -15,6 +15,7 @@ import java.beans.PropertyVetoException; import java.io.File; import java.io.IOException; +import java.util.Map; import java.util.Observable; import java.util.Observer; import java.util.Set; @@ -59,12 +60,14 @@ import org.fudaa.dodico.h2d.type.H2dVariableType; import org.fudaa.dodico.h2d.type.H2dVariableTypeCreated; import org.fudaa.ebli.calque.BCalque; +import org.fudaa.ebli.calque.BCalqueLegende; import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.ebli.courbe.EGAxeHorizontal; import org.fudaa.ebli.courbe.EGFillePanel; import org.fudaa.ebli.courbe.EGGraphe; import org.fudaa.ebli.ressource.EbliResource; import org.fudaa.ebli.visuallibrary.EbliNodeDefault; +import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCalqueLegende; import org.fudaa.ebli.visuallibrary.graphe.EbliWidgetCreatorGraphe; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.commun.courbe.FudaaCourbeTimeListModel; @@ -468,7 +471,7 @@ final TrPostProjet trPostProjet = new TrPostProjet(projection, impl_); // creation du panel de visualisation du posttraitement - final TrPostVisuPanel pnVisu = new TrPostVisuPanel(impl_, trPostProjet, projection.getNbFleche() == 0); + final TrPostVisuPanel pnVisu = new TrPostVisuPanel(impl_, trPostProjet, projection.getNbFleche() == 0,new BCalqueLegende()); // creation de l internalframe qui contient le panel de visu // final TrPostFille compFille = new TrPostFille(pnVisu); @@ -642,7 +645,7 @@ } protected TrPostVisuPanel buildVisuPanel() { - return new TrPostVisuPanel(impl_, this); + return new TrPostVisuPanel(impl_, this,new EbliWidgetCalqueLegende(filleLayout_.getScene())); } /** @@ -808,12 +811,13 @@ new CtuluTaskOperationGUI(impl_, TrResource.getS("Ouverture vue 2D...")) { public void act() { + filleLayout_ = new TrPostLayoutFille(TrPostProjet.this); final TrPostVisuPanel pnVisu = buildVisuPanel(); // fille_ = new TrPostFille(pnVisu); // --creation de l internalframe layout --// - filleLayout_ = new TrPostLayoutFille(TrPostProjet.this); + // -- ajout du visuPanel au layout --// filleLayout_.addCalque("Calque principal", pnVisu.getLocation(), pnVisu.getPreferredSize(), pnVisu); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjetRubar.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjetRubar.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjetRubar.java 2008-08-24 22:26:37 UTC (rev 3832) @@ -19,6 +19,7 @@ import org.fudaa.ctulu.gui.CtuluTaskOperationGUI; import org.fudaa.dodico.h2d.resource.H2dResource; +import org.fudaa.ebli.calque.BCalqueLegende; import org.fudaa.fudaa.tr.common.TrResource; @@ -127,6 +128,6 @@ } protected TrPostVisuPanel buildVisuPanel() { - return new TrPostVisuPanelRubar(super.impl_, this); + return new TrPostVisuPanelRubar(super.impl_, this,new BCalqueLegende()); } } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceComparatorBuilder.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceComparatorBuilder.java 2008-08-21 20:14:24 UTC (rev 3831) +++ branches/Prepr... [truncated message content] |
From: <de...@us...> - 2008-08-21 20:14:20
|
Revision: 3831 http://fudaa.svn.sourceforge.net/fudaa/?rev=3831&view=rev Author: deniger Date: 2008-08-21 20:14:24 +0000 (Thu, 21 Aug 2008) Log Message: ----------- maj prepro Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluLibSwing.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetJXTreeTableModel.java branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/build.xml branches/Prepro-0.92-SNAPSHOT/fudaaFormatage.xml Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/DefaultObjectSceneListener.java Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeListener.java Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluLibSwing.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluLibSwing.java 2008-08-21 15:27:05 UTC (rev 3830) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluLibSwing.java 2008-08-21 20:14:24 UTC (rev 3831) @@ -63,11 +63,22 @@ } /** - * Ajouter un actionListener a la checkbox _res afin d'activer ou non un - * panneau (et tous ces composants). + * @param _parent le composant \xE0 partir duquel la recherche commence + * @param _name le nom du composant fils \xE0 chercher + * @return le fils direct de _parent ayant le nom donne ou null si non trouve + */ + public static JComponent findChildByName(JComponent _parent, String _name) { + if (_parent == null || _name == null) return null; + for (int i = _parent.getComponentCount() - 1; i >= 0; i--) { + if (_name.equals(_parent.getComponent(i).getName())) return (JComponent) _parent.getComponent(i); + } + return null; + } + + /** + * Ajouter un actionListener a la checkbox _res afin d'activer ou non un panneau (et tous ces composants). * - * @param _target le panneau dont les composants seront activ\xE9es ou non, selon - * l'\xE9tat de la checkbox _res + * @param _target le panneau dont les composants seront activ\xE9es ou non, selon l'\xE9tat de la checkbox _res * @param _res la checkbox permettant de activer ou non un panneau */ public static void addActionListenerForCheckBoxTitle(final JPanel _target, final JCheckBox _res) { Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-08-21 15:27:05 UTC (rev 3830) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-08-21 20:14:24 UTC (rev 3831) @@ -41,6 +41,7 @@ import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluUI; +import org.fudaa.ctulu.gui.CtuluLibSwing; import org.fudaa.ctulu.gui.CtuluTreeComboboxModel; import org.fudaa.ctulu.gui.CtuluTreeComboboxRenderer; import org.fudaa.ctulu.image.CtuluImageProducer; @@ -313,9 +314,9 @@ // le panel sud contenant le suivi de souris et le mode mode_ = new BuLabel(); - mode_.setFont(BuLib.deriveFont("Label", Font.PLAIN, -2)); - mode_.setPreferredSize(new Dimension(120, 20)); - mode_.setSize(new Dimension(120, 20)); + mode_.setFont(CtuluLibSwing.getMiniFont()); + mode_.setPreferredSize(new Dimension(150, 20)); + mode_.setSize(new Dimension(150, 20)); mode_.setVisible(false); mode_.setOpaque(false); info_ = new BuLabel(); @@ -331,6 +332,7 @@ add(vc_, BuBorderLayout.CENTER); if (_addSouth) { final BuPanel south = new BuPanel(); + south.setName("pnSuivis"); south.setLayout(new BuBorderLayout()); south.setOpaque(false); south.setBorder(BorderFactory.createMatteBorder(1, 0, 0, 0, Color.gray)); Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/DefaultObjectSceneListener.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/DefaultObjectSceneListener.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/DefaultObjectSceneListener.java 2008-08-21 20:14:24 UTC (rev 3831) @@ -0,0 +1,36 @@ +/* + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.ebli.visuallibrary; + +import java.util.Set; + +import org.netbeans.api.visual.model.ObjectSceneEvent; +import org.netbeans.api.visual.model.ObjectSceneListener; +import org.netbeans.api.visual.model.ObjectState; + +/** + * Classe implementant \xE0 vide les m\xE9thodes de ObjectSceneListener. + * + * @author deniger + */ +public class DefaultObjectSceneListener implements ObjectSceneListener { + + public void focusChanged(ObjectSceneEvent _event, Object _previousFocusedObject, Object _newFocusedObject) {} + + public void highlightingChanged(ObjectSceneEvent _event, Set<Object> _previousHighlighting, + Set<Object> _newHighlighting) {} + + public void hoverChanged(ObjectSceneEvent _event, Object _previousHoveredObject, Object _newHoveredObject) {} + + public void objectAdded(ObjectSceneEvent _event, Object _addedObject) {} + + public void objectRemoved(ObjectSceneEvent _event, Object _removedObject) {} + + public void objectStateChanged(ObjectSceneEvent _event, Object _changedObject, ObjectState _previousState, + ObjectState _newState) {} + + public void selectionChanged(ObjectSceneEvent _event, Set<Object> _previousSelection, Set<Object> _newSelection) {} + +} Deleted: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeListener.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeListener.java 2008-08-21 15:27:05 UTC (rev 3830) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeListener.java 2008-08-21 20:14:24 UTC (rev 3831) @@ -1,11 +0,0 @@ -package org.fudaa.ebli.visuallibrary; - -public interface EbliNodeListener { - - void nodeAdded(EbliNode node); - - void nodeRemoved(EbliNode node); - - - -} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java 2008-08-21 15:27:05 UTC (rev 3830) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java 2008-08-21 20:14:24 UTC (rev 3831) @@ -3,9 +3,7 @@ import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.util.Collection; -import java.util.HashSet; -import java.util.Iterator; +import java.util.Collections; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; @@ -14,20 +12,42 @@ import org.fudaa.ebli.visuallibrary.actions.EbliWidgetEditCreator; import org.netbeans.api.visual.action.ActionFactory; import org.netbeans.api.visual.action.PopupMenuProvider; +import org.netbeans.api.visual.action.SelectProvider; import org.netbeans.api.visual.action.WidgetAction; import org.netbeans.api.visual.graph.GraphScene; import org.netbeans.api.visual.widget.LayerWidget; import org.netbeans.api.visual.widget.Scene; import org.netbeans.api.visual.widget.Widget; +import org.netbeans.modules.visual.action.SelectAction; /** * classe de gestion de la scene principale * * @author Adrien Hadoux - * */ public class EbliScene extends GraphScene<EbliNode, EbliEdge> { + private class ObjectSelectProvider implements SelectProvider { + + public boolean isAimingAllowed(Widget widget, Point localLocation, boolean invertSelection) { + return false; + } + + public boolean isSelectionAllowed(Widget widget, Point localLocation, boolean invertSelection) { + return findObject(widget) != null; + } + + public void select(Widget widget, Point localLocation, boolean invertSelection) { + Object object = findObject(widget); + + setFocusedObject(object); + if (object != null) { + if (!invertSelection && getSelectedObjects().contains(object)) return; + userSelectionSuggested(Collections.singleton(object), invertSelection); + } else userSelectionSuggested(Collections.emptySet(), invertSelection); + } + } + public static void refreshScene(Scene _sc) { _sc.validate(); _sc.repaint(); @@ -35,72 +55,50 @@ } - EbliWidgetEditCreator editor_ = EbliWidgetEditCreator.INSTANCE; + final private WidgetAction alignWithMoveAction; /** - * @return the editor - */ - public EbliWidgetEditCreator getEditor() { - return editor_; - } - - /** - * @param _editor the editor to set - */ - public void setEditor(EbliWidgetEditCreator _editor) { - editor_ = _editor; - } - - /** * Le gestionnaire de commande associe \xE0 la scene */ CtuluCommandManager cmdMng_; + EbliWidgetEditCreator editor_ = EbliWidgetEditCreator.INSTANCE; + + private LayerWidget interactionLayer_; + + public final WidgetAction rectangularSelection_; + /** * la visu du graphscene */ private LayerWidget visu_; - private LayerWidget interactionLayer_; - - final private WidgetAction alignWithMoveAction; - /** * la liste des listener associes a la scene */ - Collection<EbliNodeListener> listenerList; - + // Collection<EbliNodeListener> listenerList; public EbliScene() { super(); setLookFeel(new EbliLookFeel()); // creation du layer de mise en page + interactionLayer_ = new LayerWidget(this); + addChild(interactionLayer_); visu_ = new LayerWidget(this); addChild(visu_); - interactionLayer_ = new LayerWidget(this); - addChild(interactionLayer_); + + alignWithMoveAction = ActionFactory.createAlignWithMoveAction(visu_, interactionLayer_, ActionFactory .createDefaultAlignWithMoveDecorator(), false); - + rectangularSelection_=ActionFactory.createRectangularSelectAction(this, interactionLayer_); // -- ajoute l'action du zoom ( ctrl + clic) - getActions().addAction(ActionFactory.createZoomAction(1.1, true)); + getActions().addAction(ActionFactory.createCenteredZoomAction(1.1)); + getActions().addAction(rectangularSelection_); // -- ajouter le menu popup de base setMenuBase(); } - /** - * Methode qui permet d ajouter un listener - * - * @param listener - */ - public void addEbliNodeListener(EbliNodeListener listener) { - // init si necessaire - if (listenerList == null) listenerList = new HashSet<EbliNodeListener>(); - // ajout - listenerList.add(listener); - } - @Override protected void attachEdgeSourceAnchor(EbliEdge edge, EbliNode oldSourceNode, EbliNode sourceNode) { @@ -116,6 +114,18 @@ return null; } + // /** + // * Methode qui permet d ajouter un listener + // * + // * @param listener + // */ + // public void addEbliNodeListener(EbliNodeListener listener) { + // // init si necessaire + // if (listenerList == null) listenerList = new HashSet<EbliNodeListener>(); + // // ajout + // listenerList.add(listener); + // } + @Override protected Widget attachNodeWidget(EbliNode node) { @@ -133,29 +143,17 @@ } /** - * Called by the removeNode method to notify that a node is removed from the - * graph model. The default implementation removes the node widget from its - * parent widget. - * - * @param node the removed node - * @param widget the removed node widget; null if the node is non-visual - * - * Surcharge pour faire appel au notify des listener et ainsi mettre - * ajour les listener + * @return the cmdMng */ - protected void detachNodeWidget(EbliNode node, Widget widget) { - // -- indique la suppresion du node chez le parent - notifyAllListenerNodeRemoved(node); - - if (widget != null) widget.removeFromParent(); - + public CtuluCommandManager getCmdMng() { + return cmdMng_; } /** - * @return the cmdMng + * @return the editor */ - public CtuluCommandManager getCmdMng() { - return cmdMng_; + public EbliWidgetEditCreator getEditor() { + return editor_; } public LayerWidget getLayerVisu() { @@ -166,63 +164,67 @@ return alignWithMoveAction; } - public LayerWidget getVisu() { - return visu_; - } - /** - * Methode qui permet d envoyer le signal du node ajout\xE9 a tous les listener - * - * @param listener + * @return the rectangularSelection */ - public void notifyAllListenerNodeAdded(EbliNode node) { - if (listenerList == null) return; - for (Iterator<EbliNodeListener> it = listenerList.iterator(); it.hasNext();) { - it.next().nodeAdded(node); - } + public WidgetAction getRectangularSelection() { + return rectangularSelection_; + } + public LayerWidget getVisu() { + return visu_; } /** - * Methode qui permet d envoyer le signal du node retir\xE9 a tous les listener + * Methode qui permet d envoyer le signal du node selectionn\xE9 a tous les listener * * @param listener */ - public void notifyAllListenerNodeRemoved(EbliNode node) { - if (listenerList == null) return; + // public void notifyAllListenerNodeSelected(EbliNode node) { + // if (listenerList == null) + // return; + // + // for (Iterator<EbliNodeListener> it = listenerList.iterator(); it.hasNext();) { + // EbliNodeListener listener = it.next(); + // listener.nodeRemoved(node); + // } + // + // } - for (Iterator<EbliNodeListener> it = listenerList.iterator(); it.hasNext();) { - EbliNodeListener listener = it.next(); - listener.nodeRemoved(node); - } - - } - - /** - * Methode qui permet d envoyer le signal du node selectionn\xE9 a tous les - * listener - * - * @param listener - */ - public void notifyAllListenerNodeSelected(EbliNode node) { - if (listenerList == null) - return; - - for (Iterator<EbliNodeListener> it = listenerList.iterator(); it.hasNext();) { - EbliNodeListener listener = it.next(); - listener.nodeRemoved(node); - } - - } - - - @Override protected void notifyNodeAdded(EbliNode node, Widget widget) { - // -- notifier tous les listener que le noeud a ete attache --// - notifyAllListenerNodeAdded(node); + // -- notifier tous les listener que le noeud a ete attache --// + // notifyAllListenerNodeAdded(node); } + // /** + // * Methode qui permet d envoyer le signal du node ajout\xE9 a tous les listener + // * + // * @param listener + // */ + // public void notifyAllListenerNodeAdded(EbliNode node) { + // if (listenerList == null) return; + // for (Iterator<EbliNodeListener> it = listenerList.iterator(); it.hasNext();) { + // it.next().nodeAdded(node); + // } + // + // } + // + // /** + // * Methode qui permet d envoyer le signal du node retir\xE9 a tous les listener + // * + // * @param listener + // */ + // public void notifyAllListenerNodeRemoved(EbliNode node) { + // if (listenerList == null) return; + // + // for (Iterator<EbliNodeListener> it = listenerList.iterator(); it.hasNext();) { + // EbliNodeListener listener = it.next(); + // listener.nodeRemoved(node); + // } + // + // } + /** * Methode qui permet de raffraichir les elements de la scene */ @@ -237,6 +239,13 @@ cmdMng_ = _cmdMng; } + /** + * @param _editor the editor to set + */ + public void setEditor(EbliWidgetEditCreator _editor) { + editor_ = _editor; + } + public void setMenuBase() { getActions().addAction(ActionFactory.createPopupMenuAction(new PopupMenuProvider() { public JPopupMenu getPopupMenu(Widget widget, Point localLocation) { @@ -281,12 +290,5 @@ public void setVisu_(LayerWidget visu_) { this.visu_ = visu_; } - - - - - - - } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java 2008-08-21 15:27:05 UTC (rev 3830) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java 2008-08-21 20:14:24 UTC (rev 3831) @@ -32,16 +32,14 @@ * Widget version EBLI * * @author Adrien Hadoux - * */ public class EbliWidget extends Widget implements BSelecteurTargetInterface { private EbliScene scene_; /** - * Map contenant tous les objets graphiques de la widget generique. key: - * lineModel => le lignemodel du ebliWidget. key: color => couleur de fond. - * + * Map contenant tous les objets graphiques de la widget generique. key: lineModel => le lignemodel du ebliWidget. + * key: color => couleur de fond. */ public Map propGraphique; @@ -64,9 +62,7 @@ public BConfigurableInterface[] getConfigureInterfaces() { return new BConfigurableInterface[] { new BConfigurableComposite(getSingleConfigureInterface(), EbliLib .getS("Affichage")) /* - * , new - * BConfigurableComposite(getSingleConfigureInterface - * (), EbliLib.getS("Gizmo caca")) + * , new BConfigurableComposite(getSingleConfigureInterface (), EbliLib.getS("Gizmo caca")) */}; } @@ -76,8 +72,7 @@ } /** - * Retourne une interface widgetConfigure qui permet de gerer les interfaces a - * creer + * Retourne une interface widgetConfigure qui permet de gerer les interfaces a creer * * @return */ @@ -105,20 +100,17 @@ } /** - * Retourne l objet correspondant a la clef: retourne l objet graphique - * correspondant depuis la map d objets graphiques de la widget. + * Retourne l objet correspondant a la clef: retourne l objet graphique correspondant depuis la map d objets + * graphiques de la widget. */ public Object getProperty(String _key) { - - // -- cas particulier si il s agit de la rotation --// // -- il faut transformer les degres en radian --// if (_key.equals(ROTATION)) { double radian = getRotation(); - int degre = (int) (radian * 180 / Math.PI); - return new Integer(degre); + return Integer.valueOf((int) (radian * 180 / Math.PI)); } @@ -128,13 +120,11 @@ public void removePropertyChangeListener(String _key, PropertyChangeListener _l) {} /** - * Methode directement appelee apres modification des parametres renvoye par - * le getproperty. Ajoute les anciens parametres dans la commande undo/redo. + * Methode directement appelee apres modification des parametres renvoye par le getproperty. Ajoute les anciens + * parametres dans la commande undo/redo. */ public boolean setProperty(String _key, Object prop) { - - // --cas particulier si il s agit du tracelignemodel: il faut mettre a jour // l ancien lignemodel --// if (_key.equals(LINEMODEL)) { @@ -224,8 +214,6 @@ */ public void constructPopupMenuBase(JPopupMenu _popup) { - - JMenuItem menuItem3 = _popup.add("Masquer l'objet"); menuItem3.setIcon(CtuluResource.CTULU.getIcon("crystal22_visibilite")); menuItem3.addActionListener(new ActionListener() { @@ -289,8 +277,7 @@ } /** - * methode qui construit une widget duplication pqr default, doit etre - * surchargee pour reproduire l' evenement + * methode qui construit une widget duplication pqr default, doit etre surchargee pour reproduire l' evenement * * @return */ @@ -315,9 +302,8 @@ } /** - * Methode generique qui fait apparaitre un menuItem propre au composant et - * offre les op\xE9rations de base on ouvre le menu via le clic droit ou le - * raccourcis shift+F10 + * Methode generique qui fait apparaitre un menuItem propre au composant et offre les op\xE9rations de base on ouvre le + * menu via le clic droit ou le raccourcis shift+F10 */ public void setMenu() { @@ -336,8 +322,7 @@ } /** - * Attention ce menu ne doit pas apparaitre pour les calques et graphe car il - * n a aucun effet. + * Attention ce menu ne doit pas apparaitre pour les calques et graphe car il n a aucun effet. * * @param _popup */ @@ -369,10 +354,9 @@ }); } - - - public void setScene_(EbliScene scene_) { - this.scene_ = scene_; + + public void setScene_(EbliScene _scene) { + this.scene_ = _scene; } public void setUseBorder(boolean _useBorder) { Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-21 15:27:05 UTC (rev 3830) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-21 20:14:24 UTC (rev 3831) @@ -16,6 +16,7 @@ import java.util.HashMap; import java.util.Map; +import javax.swing.BorderFactory; import javax.swing.JComponent; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; @@ -36,19 +37,16 @@ import org.netbeans.api.visual.action.WidgetAction; import org.netbeans.api.visual.widget.Widget; +import com.memoire.bu.BuBorders; import com.memoire.bu.BuButton; import com.memoire.bu.BuPanel; import com.memoire.bu.BuResource; import com.memoire.fu.FuLog; - - /** - * * Classe permettant d'afficher un calque en tant que Widget * * @author deniger - * */ public class EbliWidgetVueCalque extends EbliWidget implements /* EditProvider */InplaceEditorProvider<BuPanel> { @@ -65,12 +63,13 @@ BufferedImage image; BuPanel conteneurEditor; - - GrBoite zoom_; + // GrBoite zoom_; + public EbliWidgetVueCalque(EbliScene scene, ZEbliCalquesPanel vue) { super(scene); calquePanel_ = vue; + calquePanel_.setBorder(BuBorders.EMPTY1111); // FIXME a enlever par la suite setPreferredSize(new Dimension(500, 400)); @@ -86,32 +85,29 @@ WidgetAction editorAction = new EbliActionEditorOneClick<BuPanel>(this); // -- ajout de l action au widget correspondant --// this.getActions().addAction(editorAction); - - - } public BuPanel createEditorComponent( org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget) { - conteneurEditor = new BuPanel(new BorderLayout()); + // conteneurEditor = new BuPanel(new BorderLayout()); + // + // conteneurEditor.add(calquePanel_, BorderLayout.CENTER); + // + // BuButton fonctionsCompletes = new BuButton("Ouvrir dans une fen\xEAtre", BuResource.BU.getIcon("crystal_valider")); + // fonctionsCompletes.addActionListener(new ActionListener() { + // + // public void actionPerformed(ActionEvent e) { + // // Cree la frame de docking associee au calque + // edit(EbliWidgetVueCalque.this); + // + // } + // + // }); + // conteneurEditor.add(fonctionsCompletes, BorderLayout.SOUTH); - conteneurEditor.add(calquePanel_, BorderLayout.CENTER); - - BuButton fonctionsCompletes = new BuButton("Ouvrir dans une fen\xEAtre", BuResource.BU.getIcon("crystal_valider")); - fonctionsCompletes.addActionListener(new ActionListener() { - - public void actionPerformed(ActionEvent e) { - // Cree la frame de docking associee au calque - edit(EbliWidgetVueCalque.this); - - } - - }); - conteneurEditor.add(fonctionsCompletes, BorderLayout.SOUTH); - - return conteneurEditor; + return calquePanel_; } /** @@ -119,22 +115,22 @@ */ public void notifyClosing(org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget, BuPanel editor, boolean commit) { - - zoom_ = calquePanel_.getVueCalque().getViewBoite(); + + // zoom_ = calquePanel_.getVueCalque().getViewBoite(); image = null; + getEbliScene().refresh(); + calquePanel_.setBorder(BuBorders.EMPTY1111); this.repaint(); } /** - * Creer une frame qui contient toutes les fonctions pour modifier le calque. - * Ancienne methode edit(). + * Creer une frame qui contient toutes les fonctions pour modifier le calque. Ancienne methode edit(). * * @param _widget */ public void edit(Widget _widget) { - if (frame_ != null) - frame_.toFront(); + if (frame_ != null) frame_.toFront(); else { final GrBoite gr = calquePanel_.getVueCalque().getViewBoite(); Rectangle rec = convertLocalToScene(getClientArea()); @@ -156,18 +152,17 @@ @Override public void windowClosed(WindowEvent _e) { - if (frame_ != null) - frame_.dispose(); + if (frame_ != null) frame_.dispose(); frame_ = null; } @Override public void windowClosing(WindowEvent _e) { // setPreferredSize(calquePanel_.getVueCalque().getSize()); - zoom_ = calquePanel_.getVueCalque().getViewBoite(); + // zoom_ = calquePanel_.getVueCalque().getViewBoite(); image = null; getEbliScene().refresh(); - // YODA:RAJOUTER LE GRAPHE DANS EDITOR TU DOIS CAR DANS FRAME IL + // YODA:RAJOUTER LE GRAPHE DANS EDITOR TU DOIS CAR DANS FRAME IL // EST conteneurEditor.add(calquePanel_, BorderLayout.CENTER); } @@ -191,6 +186,8 @@ } } + boolean first_ = true; + @SuppressWarnings("unchecked") @Override protected void paintWidget() { @@ -200,11 +197,15 @@ if (frame_ == null) { initSize(rec); - if (zoom_ != null) { - // image=null; - calquePanel_.getVueCalque().changeRepere(this, zoom_); - - } else calquePanel_.restaurer(); + if (first_) { + first_ = false; + calquePanel_.restaurer(); + } + // if (zoom_ != null) { + // // image=null; + // calquePanel_.getVueCalque().changeRepere(this, zoom_); + // + // } else calquePanel_.restaurer(); } // mode edition @@ -219,7 +220,6 @@ g.drawImage(image, rec.x, rec.y, rec.width, rec.height, null); } - /** * Surcharge de la creation du menu de base en ajoutant les menus specifiques */ @@ -228,16 +228,16 @@ public JPopupMenu getPopupMenu(Widget widget, Point localLocation) { JPopupMenu popup = new JPopupMenu(); - // -- Menu sp\xF6cifiques a l'application--// + // -- Menu sp\xF6cifiques a l'application--// constructPopupMenuSpecifique(popup); // -- creation du menu commun a tous les widgets constructPopupMenuBase(popup); - return popup; } })); } + private void constructPopupMenuSpecifique(JPopupMenu _popup) { JMenuItem menuItem = _popup.add("Ajouter la l\xE9gende"); menuItem.setIcon(CtuluResource.CTULU.getIcon("crystal_commentaire")); @@ -252,15 +252,13 @@ Point nouvellePosition = new Point((int) (EbliWidgetVueCalque.this.getLocation().x), (int) (EbliWidgetVueCalque.this.getLocation().y + EbliWidgetVueCalque.this.getBounds().height * 1.2)); - if (!EbliWidgetVueCalque.this.getEbliScene().isObject(nodeLegende)) { - nodeLegende = new EbliNodeDefault(); // nodeLegende.setTitle("Legende calque"); // // if (calquePanel_.getCqLegend()==null) - //JOptionPane.showMessageDialog(null,"calquePqnel.getCqlegend null") + // JOptionPane.showMessageDialog(null,"calquePqnel.getCqlegend null") // ; // nodeLegende.setCreator(new // EbliWidgetCreatorCalqueLegende(calquePanel_.getCqLegend())); @@ -272,7 +270,6 @@ // methode qui permet d ajouter une legemde calquePanel_.addWidgetLegendeCalque(); - EbliWidgetVueCalque.this.getEbliScene().refresh(); } @@ -282,31 +279,24 @@ }); - } - - public EnumSet<org.netbeans.api.visual.action.InplaceEditorProvider.ExpansionDirection> getExpansionDirections( - org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget, - BuPanel editor) { + org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget, BuPanel editor) { return null; } public Rectangle getInitialEditorComponentBounds( - org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget, - BuPanel editor, + org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget, BuPanel editor, Rectangle viewBounds) { - return null; + return convertLocalToScene(getClientArea()); } - - public void notifyOpened(org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget, BuPanel editor) { + calquePanel_.setBorder(BorderFactory.createLineBorder(Color.GRAY, 1)); } - // public void setColorFond(Color newColor) { // couleurFond = newColor; // repaint(); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetJXTreeTableModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetJXTreeTableModel.java 2008-08-21 15:27:05 UTC (rev 3830) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetJXTreeTableModel.java 2008-08-21 20:14:24 UTC (rev 3831) @@ -8,21 +8,22 @@ import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ebli.commun.EbliLib; +import org.fudaa.ebli.visuallibrary.DefaultObjectSceneListener; import org.fudaa.ebli.visuallibrary.EbliNode; -import org.fudaa.ebli.visuallibrary.EbliNodeListener; import org.fudaa.ebli.visuallibrary.EbliScene; import org.jdesktop.swingx.treetable.DefaultTreeTableModel; import org.jdesktop.swingx.treetable.MutableTreeTableNode; import org.jdesktop.swingx.treetable.TreeTableNode; +import org.netbeans.api.visual.model.ObjectSceneEvent; +import org.netbeans.api.visual.model.ObjectSceneEventType; +import org.netbeans.api.visual.model.ObjectSceneListener; /** - * Model du treetable. contient 3 colonnes: colonne 1:icone colonne 2:nom - * colonne 3:checkbox associee + * Model du treetable. contient 3 colonnes: colonne 1:icone colonne 2:nom colonne 3:checkbox associee * * @author Adrien Hadoux - * */ -public class EbliWidgetJXTreeTableModel extends DefaultTreeTableModel implements EbliNodeListener { +public class EbliWidgetJXTreeTableModel extends DefaultTreeTableModel { // -- le nombre de colonnes est statique --// // final static int NBCOLUMN = 3; @@ -33,6 +34,7 @@ private static final String[] title = { "", EbliLib.getS("Nom"), "V" }; final EbliScene scene_; + final ObjectSceneListener sceneListener_; /** * constructeur. @@ -43,7 +45,23 @@ public EbliWidgetJXTreeTableModel(EbliScene _scene) { super(EbliWidgetTreeTableNode.build(_scene)); scene_ = _scene; + sceneListener_ = new DefaultObjectSceneListener() { + @Override + public void objectAdded(ObjectSceneEvent _event, Object _addedObject) { + nodeAdded((EbliNode) _addedObject); + } + + @Override + public void objectRemoved(ObjectSceneEvent _event, Object _removedObject) { + nodeRemoved((EbliNode) _removedObject); + } + }; + scene_.addObjectSceneListener(sceneListener_, ObjectSceneEventType.OBJECT_ADDED,ObjectSceneEventType.OBJECT_REMOVED); } + + public void removeListener(){ + scene_.removeObjectSceneListener(sceneListener_, ObjectSceneEventType.OBJECT_ADDED,ObjectSceneEventType.OBJECT_REMOVED); + } public EbliScene getScene() { return scene_; @@ -126,8 +144,6 @@ return CtuluLibString.EMPTY_STRING; } - - // /** // * Raffraichissement maison du jxtreetable // */ Modified: branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-21 15:27:05 UTC (rev 3830) +++ branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-21 20:14:24 UTC (rev 3831) @@ -337,7 +337,6 @@ final BuPanel p = new BuPanel(); p.setLayout(new BuBorderLayout()); EbliWidgetJXTreeTableModel tree = new EbliWidgetJXTreeTableModel(scene); - scene.addEbliNodeListener(tree); // FIXME: mettre tout cela dans la construction de EbliWidgetJXTree // EbliCheckBoxTreeRenderer renderer = new EbliCheckBoxTreeRenderer(); // tree.setCellRenderer(renderer); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-21 15:27:05 UTC (rev 3830) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-21 20:14:24 UTC (rev 3831) @@ -79,7 +79,6 @@ TrPostLayoutPanelController(EbliScene _scene, TrPostProjet _projet) { treeModel_ = new EbliWidgetJXTreeTableModel(_scene); - _scene.addEbliNodeListener(treeModel_); _scene.setCmdMng(new CtuluCommandManager()); projet_ = _projet; } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java 2008-08-21 15:27:05 UTC (rev 3830) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java 2008-08-21 20:14:24 UTC (rev 3831) @@ -16,11 +16,14 @@ import javax.swing.InputMap; import javax.swing.JComponent; import javax.swing.JFrame; +import javax.swing.JPanel; import javax.swing.KeyStroke; +import javax.swing.SwingUtilities; import org.fudaa.ctulu.CtuluResource; import org.fudaa.ctulu.CtuluUI; import org.fudaa.ctulu.gui.CtuluLibDialog; +import org.fudaa.ctulu.gui.CtuluLibSwing; import org.fudaa.ctulu.gui.CtuluTaskOperationGUI; import org.fudaa.dodico.h2d.type.H2dVariableType; import org.fudaa.ebli.animation.ActionAnimationTreeSelection; @@ -104,6 +107,8 @@ TrPostInfoDelegate info_; + final JComponent suiviPanel_; + public TrPostVisuPanel(final FudaaCommonImplementation _impl, final TrPostProjet _controller) { this(_impl, _controller, false); } @@ -146,12 +151,22 @@ getDonneesCalque().enDernier(gc); gc.putClientProperty(Action.SHORT_DESCRIPTION, TrResource.getS("Affichage des images de fond")); getArbreCalqueModel().setSelectionCalque(isoLayer_); - //TODO Fred a enlever - // removeCalqueLegend(); - + // TODO Fred a enlever + removeCalqueLegend(); + + suiviPanel_ = (JPanel) CtuluLibSwing.findChildByName(this, "pnSuivis"); + remove(suiviPanel_); + } /** + * @return the suiviPanel + */ + public JComponent getSuiviPanel() { + return suiviPanel_; + } + + /** * Methode qui ajoute une widget de legende de calque. */ public void addWidgetLegendeCalque() { @@ -164,8 +179,7 @@ // rafraichissement de la scene this.getProjet().filleLayout_.controller_.getScene().refresh(); - - + } // BCalqueLegende malegende = new BCalqueLegende(); @@ -368,8 +382,7 @@ } /* - * protected void anim(){ if (anim_ == null) anim_ = new EbliAnimation(this); - * anim_.go(); } + * protected void anim(){ if (anim_ == null) anim_ = new EbliAnimation(this); anim_.go(); } */ public void dataRemoved(final H2dVariableType[] _vars, final boolean _isFleche) { @@ -476,30 +489,28 @@ } /** - * duplication du trPostVisuPanel. surcharge de la duplication du - * zeblicalquePanel. + * duplication du trPostVisuPanel. surcharge de la duplication du zeblicalquePanel. */ - public TrPostVisuPanel duplicate(){ - + public TrPostVisuPanel duplicate() { + final TrPostVisuPanel duplic = new TrPostVisuPanel(this.getImpl(), this.getProjet()); // -- duplication du layer qui contient les memes proprietes --// duplic.isoLayer_ = (TrIsoLayer) this.isoLayer_.duplicate(); - - - + // -- duplication des donnees via sauvegarde thread--// new CtuluTaskOperationGUI(this.impl_, TrResource.getS("Enregistrement")) { public void act() { - + // -- sauvegarde de l etat --// - BCalqueSaverInterface savedData= getDonneesCalque().getPersistenceMng().save(getDonneesCalque(),impl_.createProgressionInterface(this)); - + BCalqueSaverInterface savedData = getDonneesCalque().getPersistenceMng().save(getDonneesCalque(), + impl_.createProgressionInterface(this)); + // -- chargement de l etat dans le calque duplique --// duplic.getDonneesCalque().getPersistenceMng().restore(savedData, duplic, duplic.getDonneesCalque(), impl_.createProgressionInterface(this)); - - // -- destruction des calques doublons du duplic pour recuperer une + + // -- destruction des calques doublons du duplic pour recuperer une // bonne arborescence --// // BCalque[] liste = duplic.getDonneesCalque().getCalques(); @@ -517,20 +528,11 @@ // } // // } - - + } }.start(); - - - - - - - - + return duplic; } - - + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/build.xml =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/build.xml 2008-08-21 15:27:05 UTC (rev 3830) +++ branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/build.xml 2008-08-21 20:14:24 UTC (rev 3831) @@ -194,6 +194,9 @@ <library jar="${ctulu.lib.dir}/fgis.jar" /> <library jar="${ctulu.lib.dir}/looks.jar" /> <library jar="${ctulu.lib.dir}/jep.jar" /> + <library jar="${ctulu.lib.dir}/commons-logging-1.1.jar" /> + <library jar="${ctulu.lib.dir}/flexdock-0.5.1.jar" /> + <library jar="${ctulu.lib.dir}/skinlf.jar" /> <!--Classes appel\xE9es par reflexion--> <class> <fileset dir="${fudaa.dist.classes.dir}"> Modified: branches/Prepro-0.92-SNAPSHOT/fudaaFormatage.xml =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaaFormatage.xml 2008-08-21 15:27:05 UTC (rev 3830) +++ branches/Prepro-0.92-SNAPSHOT/fudaaFormatage.xml 2008-08-21 20:14:24 UTC (rev 3831) @@ -9,7 +9,7 @@ <setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/> -<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/> @@ -17,9 +17,9 @@ <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/> -<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/> +<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="true"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/> -<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/> @@ -68,7 +68,7 @@ <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/> -<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/> <setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/> @@ -88,13 +88,13 @@ <setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/> <setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/> -<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/> +<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="true"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/> -<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/> @@ -134,7 +134,7 @@ <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/> -<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/> @@ -166,8 +166,8 @@ <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/> -<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/> -<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="do not insert"/> +<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="true"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/> @@ -179,7 +179,7 @@ <setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/> <setting id="org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode" value="enabled"/> -<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/> +<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="false"/> <setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/> @@ -203,7 +203,7 @@ <setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/> -<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/> +<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="0"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/> @@ -216,7 +216,7 @@ <setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/> -<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/> @@ -234,7 +234,7 @@ <setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/> -<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/> +<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/> @@ -262,6 +262,6 @@ <setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/> <setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/> <setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/> -<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/> +<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="true"/> </profile> </profiles> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fa...@us...> - 2008-08-21 15:27:00
|
Revision: 3830 http://fudaa.svn.sourceforge.net/fudaa/?rev=3830&view=rev Author: fargeix Date: 2008-08-21 15:27:05 +0000 (Thu, 21 Aug 2008) Log Message: ----------- Modifications diverses Modified Paths: -------------- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrFrameAffichage.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrListeNavires.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrModeleTable.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrNavire.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3Implementation.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3PanelSaisieEcluse.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3PanelSaisieGare.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3VisualiserGares.java Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrFrameAffichage.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrFrameAffichage.java 2008-08-20 15:07:17 UTC (rev 3829) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrFrameAffichage.java 2008-08-21 15:27:05 UTC (rev 3830) @@ -44,10 +44,10 @@ boolean typeTrie=true; BuPanel commandePanel_=new BuPanel(new FlowLayout(FlowLayout.CENTER)); - private final BuButton sauver_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_enregistrer"), "enregistrer"); - private final BuButton trier_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_ranger"), "trier"); - private final BuButton impression_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_generer"), "Excel"); - private final BuButton valider_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_quitter"), "quitter"); + private final BuButton sauver_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_enregistrer"), "Enregistrer"); + private final BuButton trier_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_ranger"), "Trier"); + private final BuButton impression_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_generer"), "Exporter"); + private final BuButton valider_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_quitter"), "Quitter"); public GenarrFrameAffichage(Sinavi3DataSimulation _d){ @@ -58,7 +58,7 @@ //-- creation du modele du jtable --// modeleGenarr_=new GenarrModeleTable(donnees_); - setTitle("Liste des navires g\xE9n\xE9r\xE9s"); + setTitle("Liste des bateaux g\xE9n\xE9r\xE9s"); setSize(700, 500); //-- mise a jour du tableau --// @@ -154,10 +154,10 @@ } }); - trier_.setToolTipText("Permet de trier les donn\xE9es du tableau selon la cat\xE9gorie ou les navires."); - sauver_.setToolTipText("permet d'enregistrer les modifications apport\xE9es au fichier."); - this.impression_.setToolTipText("Genere un fichier excel du tableau. Attention, ce bouton ne genere que le tableau du chenal affich\xE9!!"); - this.valider_.setToolTipText("cliquez sur ce bouton pour fermer la sous fen\xEAtre"); + trier_.setToolTipText("Tie les donn\xE9es du tableau selon la cat\xE9gorie ou le num\xE9ro de bateau"); + sauver_.setToolTipText("Enregistre les modifications apport\xE9es au fichier"); + this.impression_.setToolTipText("Exporte le tableau au format xls"); + this.valider_.setToolTipText("Ferme la sous-fen\xEAtre"); JTableHeader header = tableau.getTableHeader(); header.setReorderingAllowed(true); @@ -181,7 +181,7 @@ data[i][4]=""+donnees_.genarr_.retourner(i).minute; } */ - String[] titreColonnes = { "Navire", "Cat\xE9gorie", "Jour","Heure","Minute" }; + String[] titreColonnes = { "Bateau", "Cat\xE9gorie", "Jour","Heure","Minute" }; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrListeNavires.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrListeNavires.java 2008-08-20 15:07:17 UTC (rev 3829) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrListeNavires.java 2008-08-21 15:27:05 UTC (rev 3830) @@ -108,10 +108,10 @@ int heure=fr.intField(1); int minutes=fr.intField(2); //int secondes=fr.intField(3); - String sens=fr.stringField(4); - int categorie=fr.intField(5)-1; - int gareDep=fr.intField(6)-1; - int gareArr=fr.intField(7)-1; + String sens=fr.stringField(3); + int categorie=fr.intField(4)-1; + int gareDep=fr.intField(5)-1; + int gareArr=fr.intField(6)-1; //-- ajout d'un objet de type navire genarr dans la liste des donn\xE9es --// this.ajout(new GenarrNavire(cpt++,categorie,jour,heure,minutes,sens,gareDep,gareArr)); @@ -153,7 +153,7 @@ final FortranWriter f = new FortranWriter(new FileWriter(nomFichier)); // format du fichier : 40 caract\xE8res de donn\xE9es + 1 s\xE9parateur + 100 caract\xE8res de commentaire - final int[] fmt = new int[] { 10, 1, 10,1,10,1,10 }; + final int[] fmt = new int[] { 4, 1, 2, 1, 2, 1, 2, 1, 3, 1, 4, 1, 4 }; for(int i=0;i<this.taille();i++){ @@ -161,7 +161,10 @@ f.stringField(0, new Integer(retourner(i).jour).toString()); f.stringField(2, new Integer(retourner(i).heure).toString()); f.stringField(4, new Integer(retourner(i).minute).toString()); - f.stringField(6, new Integer(retourner(i).categorie+1).toString()); + f.stringField(6, new String(retourner(i).sens)); + f.stringField(8, new Integer(retourner(i).categorie+1).toString()); + f.stringField(10, new Integer(retourner(i).gareDep+1).toString()); + f.stringField(12, new Integer(retourner(i).gareArriv+1).toString()); f.writeFields(fmt); } //fermeture du fichier de donn\xE9es g\xE9n\xE9rales Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrModeleTable.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrModeleTable.java 2008-08-20 15:07:17 UTC (rev 3829) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrModeleTable.java 2008-08-21 15:27:05 UTC (rev 3830) @@ -14,7 +14,7 @@ Sinavi3DataSimulation donnees_; - String[] titreColonnes_ = { "Navire", "Cat\xE9gorie", "Jour","Heure","Minute","Sens","Gare depart","Gare arrivee" }; + String[] titreColonnes_ = { "Bateau", "Cat\xE9gorie", "Jour","Heure","Minute","Sens","Gare d\xE9part","Gare arriv\xE9e" }; public GenarrModeleTable(Sinavi3DataSimulation d){ listeNavires_=d.genarr_; @@ -54,10 +54,10 @@ return ""+listeNavires_.retourner(i).sens; else if(j==6) - return ""+listeNavires_.retourner(i).gareDep; + return ""+donnees_.listeGare_.retournerGare(listeNavires_.retourner(i).gareDep) ; else - return ""+listeNavires_.retourner(i).gareArriv; + return ""+donnees_.listeGare_.retournerGare(listeNavires_.retourner(i).gareArriv); Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrNavire.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrNavire.java 2008-08-20 15:07:17 UTC (rev 3829) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/GenarrNavire.java 2008-08-21 15:27:05 UTC (rev 3830) @@ -39,6 +39,9 @@ jour=clone.jour; heure=clone.heure; minute=clone.minute; + sens=clone.sens; + gareDep=clone.gareDep; + gareArriv=clone.gareArriv; } Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3Implementation.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3Implementation.java 2008-08-20 15:07:17 UTC (rev 3829) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3Implementation.java 2008-08-21 15:27:05 UTC (rev 3830) @@ -215,7 +215,7 @@ isSinavi_.http = "http://marina.cetmef.equipement.gouv.fr/fudaa/"; isSinavi_.update = "http://marina.cetmef.equipement.gouv.fr/fudaa/deltas/"; isSinavi_.man = "http://marina.cetmef.equipement.gouv.fr/fudaa/manuels/sinavi/"; - isSinavi_.authors = new String[] { "Adrien Hadoux" }; + isSinavi_.authors = new String[] { "Adrien Hadoux", "M\xE9d\xE9ric Fargeix" }; isSinavi_.contributors = new String[] { "Equipes Dodico, Ebli et Fudaa" }; isSinavi_.documentors = new String[] {}; isSinavi_.testers = new String[] { "Alain Pourplanche", "Alain Chambreuil", "Nicolas Clavreul" }; @@ -420,41 +420,36 @@ newtb.addSeparator(); newtb.addSeparator(); newtb.addSeparator(); - newtb.addSeparator(); newtb.addToolButton("G\xE9n\xE9ral", "DONNEESGENERALES", FudaaResource.FUDAA.getIcon("analyser_"), false); newtb.addSeparator(); - newtb.addToolButton("Bateaux", "PARAMETRECATEGORIE", FudaaResource.FUDAA.getIcon("crystal_parametre"), false); + newtb.addToolButton("Gares", "PARAMETREGARE", FudaaResource.FUDAA.getIcon("crystal_parametre"), false); newtb.addToolButton("Biefs", "PARAMETRECHENAL", FudaaResource.FUDAA.getIcon("crystal_parametre"), false); newtb.addToolButton("Ecluses", "PARAMETREECLUSE", FudaaResource.FUDAA.getIcon("crystal_parametre"), false); + newtb.addToolButton("Bateaux", "PARAMETRECATEGORIE", FudaaResource.FUDAA.getIcon("crystal_parametre"), false); newtb.addSeparator(); - newtb.addToolButton("Topo biefs", "TOPOLOGIECHENAL", FudaaResource.FUDAA.getIcon("graphe_"), false); - newtb.addToolButton("Mod\xE9lisation r\xE9seau", "MODELISATIONTOPOLOGIE", FudaaResource.FUDAA.getIcon("crystal_colorier"), + newtb.addToolButton("Topologie biefs", "TOPOLOGIECHENAL", FudaaResource.FUDAA.getIcon("graphe_"), false); + newtb.addToolButton("Topologie \xE9cluses", "TOPOLOGIEECLUSE", FudaaResource.FUDAA.getIcon("graphe_"), false); + newtb.addToolButton("Mod\xE9lisation du r\xE9seau", "MODELISATIONTOPOLOGIE", FudaaResource.FUDAA.getIcon("crystal_colorier"), false); newtb.addSeparator(); - newtb.addToolButton("Croisements biefs", "REGLESNAVIGATIONCHENAL", FudaaResource.FUDAA.getIcon("configurer_"), false); - newtb.addToolButton("Tr\xE9matages biefs", "REGLESNAVIGATIONCHENAL2", FudaaResource.FUDAA.getIcon("configurer_"), false); - newtb.addToolButton("Trajets bateaux", "REGLESTRAJETBATEAU", FudaaResource.FUDAA.getIcon("configurer_"), false); + newtb.addToolButton("Croisement dans les biefs", "REGLESNAVIGATIONCHENAL", FudaaResource.FUDAA.getIcon("configurer_"), false); + newtb.addToolButton("Tr\xE9matage dans les biefs", "REGLESNAVIGATIONCHENAL2", FudaaResource.FUDAA.getIcon("configurer_"), false); + newtb.addToolButton("Vitesse dans les biefs", "REGLESDUREEPARCOURSCHENAL", FudaaResource.FUDAA.getIcon("configurer_"), false); + newtb.addToolButton("Dur\xE9es de manoeuvres dans les \xE9cluses", "REGLESDUREEMANEUVRE", FudaaResource.FUDAA.getIcon("configurer_"), false); + newtb.addToolButton("Trajets par bateau", "REGLESTRAJETBATEAU", FudaaResource.FUDAA.getIcon("configurer_"), false); - newtb.addToolButton("Vitesses biefs", "REGLESDUREEPARCOURSCHENAL", - FudaaResource.FUDAA.getIcon("configurer_"), false); - newtb.addToolButton("Dur\xE9es maneuvres \xE9cluses", "REGLESDUREEMANEUVRE", - FudaaResource.FUDAA.getIcon("configurer_"), false); newtb.addSeparator(); newtb.addSeparator(); - newtb.addSeparator(); - newtb.addSeparator(); newtb.addToolButton("V\xE9rification", "VERIFICATIONDONNEES", FudaaResource.FUDAA.getIcon("crystal_analyser"), false); - newtb.addToolButton("Duplication simulation", "DUPLIQUERSIMU", FudaaResource.FUDAA.getIcon("dupliquer_"), false); newtb.addToolButton("Calcul", "LANCEMENTCALCUL", FudaaResource.FUDAA.getIcon("crystal_executer"), false); newtb.addSeparator(); - newtb.addToolButton("G\xE9n\xE9ration navires", "GRAPHEGENERATIONNAV", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); - newtb.addToolButton("Dur\xE9es parcours", "GRAPHEDUREEPARCOURS", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); - newtb.addToolButton("Attentes trajets", "ATTENTESPECIALISEE", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); - newtb.addToolButton("Croisements", "CROISEMENTSCHENAUXTABLEAU", FudaaResource.FUDAA.getIcon("crystal_graphe"), - false); + newtb.addToolButton("Bateaux g\xE9n\xE9r\xE9s", "GRAPHEGENERATIONNAV", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); + newtb.addToolButton("Dur\xE9es de parcours", "GRAPHEDUREEPARCOURS", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); + newtb.addToolButton("Attentes par trajet", "ATTENTESPECIALISEE", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); + } @@ -539,9 +534,9 @@ protected BuMenu construitMenuGeneration(final boolean _app) { final BuMenu r = new BuMenu("G\xE9n\xE9ration", "GENERATION"); - BuMenuItem b=r.addMenuItem("G\xE9n\xE9ration des navires", "GENARR", FudaaResource.FUDAA.getIcon(""), false); + BuMenuItem b=r.addMenuItem("G\xE9n\xE9ration des bateaux", "GENARR", FudaaResource.FUDAA.getIcon(""), false); - b=r.addMenuItem("Affichage des navires", "GENARR2", FudaaResource.FUDAA.getIcon(""), false); + b=r.addMenuItem("Affichage des bateaux g\xE9n\xE9r\xE9s", "GENARR2", FudaaResource.FUDAA.getIcon(""), false); return r; @@ -699,7 +694,7 @@ final BuMenu r5 = new BuMenu("Attentes", "ATT"); - r.addMenuItem("G\xE9n\xE9ration de bateaux", "GRAPHEGENERATIONNAV", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); + r.addMenuItem("Bateaux g\xE9n\xE9r\xE9s", "GRAPHEGENERATIONNAV", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); r.addMenuItem("Historique", "HISTORIQUETABLEAU", FudaaResource.FUDAA.getIcon("crystal_arbre"), false); @@ -737,7 +732,7 @@ protected BuMenu construitMenuComparaisonSimulations(final boolean _app) { final BuMenu r = new BuMenu("Comparaison", "COMPARESIMU"); - r.addMenuItem("G\xE9n\xE9ration de bateaux", "COMPARESIMU1", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); + r.addMenuItem("Bateaux g\xE9n\xE9r\xE9s", "COMPARESIMU1", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); // r.addMenuItem("Occupation globale des quais", "COMPARESIMU2", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); // r.addMenuItem("Occupation d\xE9taill\xE9e des quais", "COMPARESIMU4", FudaaResource.FUDAA.getIcon("crystal_graphe"),false); r.addMenuItem("Dur\xE9es de parcours", "COMPARESIMU3", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); @@ -1122,11 +1117,12 @@ */ if (numeroParametreConsidere == 2) { if (donnees_.listeEcluse_.listeEcluses_.size() >= 1) { - this.addInternalFrame(new Sinavi3PanelTopologieEcluse(donnees_)); + gestionTopoEcluses_=new Sinavi3PanelTopologieEcluse(donnees_); + this.addInternalFrame(gestionTopoEcluses_); } else { - new BuDialogError(getApp(), getInformationsSoftware(), "Erreur,aucune ecluse existante!! ").activate(); + new BuDialogError(getApp(), getInformationsSoftware(), "Aucune \xE9cluse n'a \xE9t\xE9 d\xE9finie dans le projet courant.\nVous pouvez d\xE9finir une \xE9cluse via le menu \"Param\xE8tres\".").activate(); } } @@ -1134,11 +1130,13 @@ * Test d activation des cheneaux si au moins un chenal existe */ if (numeroParametreConsidere == 3) { - if (donnees_.listeBief_.listeBiefs_.size() >= 1) { - this.addInternalFrame(new Sinavi3PanelTopologieBief(donnees_)); + if (donnees_.listeBief_.listeBiefs_.size() >= 1) + { + gestionTopoChenaux_=new Sinavi3PanelTopologieBief(donnees_); + this.addInternalFrame(gestionTopoChenaux_); } else { - new BuDialogError(getApp(), getInformationsSoftware(), "Erreur,aucun bief existant!! ").activate(); + new BuDialogError(getApp(), getInformationsSoftware(), "Aucun bief n'a \xE9t\xE9 d\xE9fini dans le projet courant.\nVous pouvez d\xE9finir un bief via le menu \"Param\xE8tres\".").activate(); } } @@ -1150,7 +1148,7 @@ * on lance une fenetre indiquant l'erreur: il faut au moins 2 gares de saisies: */ new BuDialogError(getApp(), getInformationsSoftware(), - "Il faut au moins deux gares pour la topologie! Veuillez d'abord cr\xE9er suffisament de gares").activate(); + "Deux gares sont n\xE9cessaires pour \xE9diter la topologie.\nVous pouvez d\xE9finir des gares via le menu \"Param\xE8tres\".").activate(); } @@ -1193,7 +1191,7 @@ * on lance une fenetre indiquant l'erreur: il faut au moins 2 gares de saisies: */ new BuDialogError(getApp(), getInformationsSoftware(), - "Il faut au moins deux gares pour dessiner la topologie! Veuillez d'abord cr\xE9er suffisament de gares") + "Deux gares sont n\xE9cessaires pour mod\xE9liser le r\xE9seau.\nVous pouvez d\xE9finir des gares via le menu \"Param\xE8tres\".") .activate(); } @@ -1218,12 +1216,12 @@ * on lance une fenetre indiquant l'erreur: il faut au moins 2 gares de saisies: */ new BuDialogError(getApp(), getInformationsSoftware(), - "Il faut au moins un bief pour lancer les regles de navigations!Veuillez d'abord cr\xE9er un bief") + "Aucun bief n'a \xE9t\xE9 d\xE9fini dans le projet courant.\nVous pouvez d\xE9finir un bief via le menu \"Param\xE8tres\".") .activate(); } else if (this.donnees_.listeBateaux_.listeNavires_.size() <= 0) { new BuDialogError(getApp(), getInformationsSoftware(), - "Il faut au moins une cat\xE9gorie de navire pour lancer les regles de navigations!Veuillez d'abord cr\xE9er une cat\xE9gorie") + "Aucune cat\xE9gorie de bateaux n'a \xE9t\xE9 d\xE9finie dans le projet courant.\nVous pouvez d\xE9finir une cat\xE9gorie via le menu \"Param\xE8tres\".") .activate(); } else @@ -1253,7 +1251,7 @@ * on lance une fenetre indiquant l'erreur: il faut au moins 2 gares de saisies: */ new BuDialogError(getApp(), getInformationsSoftware(), - "Il faut au moins un bateau pour lancer les gestion de trajet!Veuillez d'abord cr\xE9er un bateau") + "Aucune cat\xE9gorie de bateaux n'a \xE9t\xE9 d\xE9finie dans le projet courant.\nVous pouvez d\xE9finir une cat\xE9gorie via le menu \"Param\xE8tres\".") .activate(); @@ -1288,12 +1286,12 @@ * on lance une fenetre indiquant l'erreur: il faut au moins 2 gares de saisies: */ new BuDialogError(getApp(), getInformationsSoftware(), - "Il faut au moins un bief pour lancer les regles de trematage!Veuillez d'abord cr\xE9er un bief") + "Aucun bief n'a \xE9t\xE9 d\xE9fini dans le projet courant.\nVous pouvez d\xE9finir un bief via le menu \"Param\xE8tres\".") .activate(); } else if (this.donnees_.listeBateaux_.listeNavires_.size() <= 0) { new BuDialogError(getApp(), getInformationsSoftware(), - "Il faut au moins une cat\xE9gorie de navire pour lancer les regles de trematage!Veuillez d'abord cr\xE9er une categorie de bateau") + "Aucune cat\xE9gorie de bateaux n'a \xE9t\xE9 d\xE9finie dans le projet courant.\nVous pouvez d\xE9finir une cat\xE9gorie via le menu \"Param\xE8tres\".") .activate(); } else @@ -1320,19 +1318,20 @@ * on lance une fenetre indiquant l'erreur: il faut au moins 2 gares de saisies: */ new BuDialogError(getApp(), getInformationsSoftware(), - "Il faut au moins un bief pour lancer les regles de navigations!Veuillez d'abord cr\xE9er un bief") + "Aucun bief n'a \xE9t\xE9 d\xE9fini dans le projet courant.\nVous pouvez d\xE9finir un bief via le menu \"Param\xE8tres\".") .activate(); } else if (this.donnees_.listeBateaux_.listeNavires_.size() <= 0) { new BuDialogError(getApp(), getInformationsSoftware(), - "Il faut au moins une cat\xE9gorie de navire pour lancer les regles de navigations!Veuillez d'abord cr\xE9er une cat\xE9gorie") + "Aucune cat\xE9gorie de bateaux n'a \xE9t\xE9 d\xE9finie dans le projet courant.\nVous pouvez d\xE9finir une cat\xE9gorie via le menu \"Param\xE8tres\".") .activate(); } else { // 2)lancer l'applicationw - - this.addInternalFrame(new Sinavi3PanelVitessesBief(donnees_)); + + gestionVitessesBief_=new Sinavi3PanelVitessesBief(donnees_); + this.addInternalFrame(gestionVitessesBief_); } } /** @@ -1347,19 +1346,20 @@ * on lance une fenetre indiquant l'erreur: il faut au moins 2 gares de saisies: */ new BuDialogError(getApp(), getInformationsSoftware(), - "Il faut au moins une ecluse pour lancer les durees de maneuvres!Veuillez d'abord cr\xE9er une ecluse") + "Aucune \xE9cluse n'a \xE9t\xE9 d\xE9finie dans le projet courant.\nVous pouvez d\xE9finir une \xE9cluse via le menu \"Param\xE8tres\".") .activate(); } else if (this.donnees_.listeBateaux_.listeNavires_.size() <= 0) { new BuDialogError(getApp(), getInformationsSoftware(), - "Il faut au moins une cat\xE9gorie de bateau pour lancer les durees de maneuvres!Veuillez d'abord cr\xE9er une cat\xE9gorie") + "Aucune cat\xE9gorie de bateaux n'a \xE9t\xE9 d\xE9finie dans le projet courant.\nVous pouvez d\xE9finir une cat\xE9gorie via le menu \"Param\xE8tres\".") .activate(); } else { // 2)lancer l'applicationw - - this.addInternalFrame(new Sinavi3PanelDureeManeuvresEcluses(donnees_)); + + gestionDureeManeuvreEcluse_=new Sinavi3PanelDureeManeuvresEcluses(donnees_); + this.addInternalFrame(gestionDureeManeuvreEcluse_); } } @@ -1446,17 +1446,17 @@ // ETAPE 1: ecriture des diff\xE9rents fichiers de donn\xE9es pour le noyau de clacul: - mp.setMessage("Envoie des param\xE8tres au noyau de calcul"); + mp.setMessage("Envoi des param\xE8tres au noyau de calcul..."); mp.setProgression(10); try { - fenetreProgression.miseAjourBarreProgression(0, "Ecriture des param\xE8tres...", "Ecriture des param\xE8tres cat\xE9gories de navire"); + fenetreProgression.miseAjourBarreProgression(0, "Ecriture des param\xE8tres...", "Ecriture des param\xE8tres bateaux"); //-- ecriture des parametres avant lancement calcul //cat\xE9gories DParametresSinavi3.ecritDonneesCategoriesNavires(this.donnees_.params_.navires,this.donnees_.projet_.getFichier()); - fenetreProgression.miseAjourBarreProgression(2, "Ecriture des param\xE8tres donn\xE9es g\xE9n\xE9rales"); + fenetreProgression.miseAjourBarreProgression(2, "Ecriture des param\xE8tres g\xE9n\xE9raux"); // donn\xE9es generales DParametresSinavi3 .ecritDonneesGenerales(this.donnees_.params_.donneesGenerales,this.donnees_.projet_.getFichier()); @@ -1469,19 +1469,19 @@ fenetreProgression.miseAjourBarreProgression(16, "Ecriture des param\xE8tres biefs"); // bief DParametresSinavi3.ecritDonneesBief(this.donnees_.params_.cheneaux,this.donnees_.projet_.getFichier()); - fenetreProgression.miseAjourBarreProgression(18, "Ecriture des vitesses bateaux dans biefs"); + fenetreProgression.miseAjourBarreProgression(18, "Ecriture des vitesses dans les biefs"); // vitesses des biefs DParametresSinavi3.ecritDonneesVitessesAvalantBief(this.donnees_.params_,this.donnees_.projet_.getFichier()); DParametresSinavi3.ecritDonneesVitessesMontantBief(this.donnees_.params_,this.donnees_.projet_.getFichier()); - fenetreProgression.miseAjourBarreProgression(20, "Ecriture des temsp de maneuvres dans les \xE9cluses"); + fenetreProgression.miseAjourBarreProgression(20, "Ecriture des temps de manoeuvres dans les \xE9cluses"); // temps de maneuvres ecluses DParametresSinavi3.ecritDonneesDurManeuvreEntrantEcluse(this.donnees_.params_,this.donnees_.projet_.getFichier()); DParametresSinavi3.ecritDonneesDurManeuvreSortantEcluse(this.donnees_.params_,this.donnees_.projet_.getFichier()); - fenetreProgression.miseAjourBarreProgression(23, "Ecriture des croisements biefs"); + fenetreProgression.miseAjourBarreProgression(23, "Ecriture des croisements dans les biefs"); // dur\xE9es de croisement des biefs: DParametresSinavi3 @@ -1503,7 +1503,7 @@ File fic=new File(donnees_.projet_.getFichier()+".his"); if(fic.exists()){ int confirmation = new BuDialogConfirmation(donnees_.application_.getApp(), - Sinavi3Implementation.isSinavi_, " Un fichier historique existe.\n Ce fichier contient les r\xE9sultats d'une pr\xE9c\xE9dente ex\xE9cution \n du noyau de calcul.\n Voulez-vous relancer le noyau de calcul?\n Si vous voulez directement lire le fichier historique,\n tapez non.").activate(); + Sinavi3Implementation.isSinavi_, "Un fichier historique existe.\nCe fichier contient les r\xE9sultats d'un pr\xE9c\xE9dent calcul.\nSouhaitez-vous relancer le noyau de calcul?\nSi vous voulez directement lire le fichier historique, cliquez sur \"non\".").activate(); if (confirmation == 0) { @@ -1525,7 +1525,7 @@ File fichier=new File(donnees_.projet_.getFichier()+".his"); if(!fichier.exists()){ - new BuDialogError(null,Sinavi3Implementation.isSinavi_,"Le fichier historique est introuvable.\n Veuillez relancer le calcul (onglet Simulation, 'Calculer')").activate(); + new BuDialogError(null,Sinavi3Implementation.isSinavi_,"Le fichier historique est introuvable.\nVeuillez relancer le calcul (menu \"Simulation\", bouton \"Calculer\")").activate(); return; } @@ -1543,7 +1543,7 @@ calculExploitationResultats(fenetreProgression); new BuDialogMessage(donnees_.application_.getApp(), donnees_.application_.getInformationsSoftware(), - "La simulation est termin\xE9e, vous pouvez visualiser les r\xE9sultats.\n Un fichier historique \n\n"+donnees_.projet_.getFichier()+".his \n\n a \xE9t\xE9 cr\xE9\xE9. \n Il a servi \xE0 r\xE9aliser les statistiques.\n Attention ce fichier occupe beaucoup de place m\xE9moire. \n Vous pouvez le supprimer (onglet Simulation).").activate(); + "La simulation est termin\xE9e, vous pouvez visualiser les r\xE9sultats.\nUn fichier historique \n"+donnees_.projet_.getFichier()+".his a \xE9t\xE9 cr\xE9\xE9.\nCe fichier peut occuper un important espace disque.\nPensez \xE0 la supprimer (menu \"Simulation\") une fois votre travail termin\xE9.").activate(); /* * projet_.addResult( SiporResource.resultats, siporResults_.litResultatsSipor()); @@ -2145,6 +2145,10 @@ gestionCroisementBief_.dispose(); } + if (gestionTrematageBief_ != null) { + gestionTrematageBief_.dispose(); + } + if (gestionVitessesBief_ != null) { gestionVitessesBief_.dispose(); } @@ -2167,23 +2171,16 @@ gestionNavires_ = null; gestionChenaux_ = null; - gestionGares_ = null; - gestionEcluses_ = null; - gestionDonneesGenerales_ = null; - gestionTopoEcluses_ = null; gestionTopoChenaux_ = null; - gestionModelisation_ = null; gestionCroisementBief_ = null; - + gestionTrematageBief_=null; gestionVitessesBief_ = null; - gestionDureeManeuvreEcluse_=null; - gestionTrajetsBateaux_=null; @@ -2496,7 +2493,7 @@ } catch (IOException e) { new BuDialogError(this.getApp(),isSinavi_,"Erreur dans la cr\xE9ation du fichier des cat\xE9gories de navire.\n" + "v\xE9rifier la saisie des cat\xE9gories de navires.").activate(); - } + } } /** Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3PanelSaisieEcluse.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3PanelSaisieEcluse.java 2008-08-20 15:07:17 UTC (rev 3829) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3PanelSaisieEcluse.java 2008-08-21 15:27:05 UTC (rev 3830) @@ -272,33 +272,41 @@ contenu.add(total,BorderLayout.CENTER); //general - final JPanel se1 = new JPanel(); - se1.add(new JLabel("Nom de l'ecluse: ")); + final JPanel general=new JPanel(new GridLayout(1,2)); + general.setBorder(BorderFactory.createTitledBorder(Sinavi3Bordures.compound_,"G\xE9n\xE9ral")); + total.add(general); + + final JPanel se1 = new JPanel(new FlowLayout(FlowLayout.LEFT)); + se1.add(new JLabel("Nom de l'\xE9cluse:")); se1.add(this.cNom_); - se1.add(new JLabel("Hauteur de chute")); - se1.add(cHauteurChute); - se1.add(new JLabel("M\xE8tres")); - se1.setBorder(BorderFactory.createTitledBorder(Sinavi3Bordures.compound_,"General")); - contenu.add(se1, BorderLayout.NORTH); - + se1.setBorder(Sinavi3Bordures.bordnormal_); + general.add(se1); + final JPanel se12 = new JPanel(new FlowLayout(FlowLayout.LEFT)); + se12.add(new JLabel("Hauteur de chute:")); + se12.add(cHauteurChute); + se12.add(new JLabel("m\xE8tres")); + se12.setBorder(Sinavi3Bordures.bordnormal_); + general.add(se12); + + //dimensions final JPanel dimensions=new JPanel(new GridLayout(1,3)); dimensions.setBorder(BorderFactory.createTitledBorder(Sinavi3Bordures.compound_,"Dimensions")); total.add(dimensions); final JPanel se2 = new JPanel(); - se2.add(new JLabel("Longueur: ")); + se2.add(new JLabel("Longueur:")); se2.add(this.cLongueur_); - se2.add(new JLabel("M\xE8tres")); + se2.add(new JLabel("m\xE8tres")); se2.setBorder(Sinavi3Bordures.bordnormal_); //se2.setBorder(BorderFactory.createTitledBorder(Sinavi3Bordures.bordnormal_,"longueur",0,0,null,Sinavi3Implementation.bleuClairSinavi)); dimensions.add(se2); final JPanel se22 = new JPanel(); - se22.add(new JLabel(" Largeur: ")); + se22.add(new JLabel("Largeur:")); se22.add(this.cLargeur_); - se22.add(new JLabel("M\xE8tres")); + se22.add(new JLabel("m\xE8tres")); se22.setBorder(Sinavi3Bordures.bordnormal_); //se22.setBorder(BorderFactory.createTitledBorder(Sinavi3Bordures.bordnormal_,"largeur",0,0,null,Sinavi3Implementation.bleuClairSinavi)); dimensions.add(se22); @@ -306,7 +314,7 @@ final JPanel se23 = new JPanel(); se23.add(new JLabel("Profondeur:")); se23.add(this.profondeur_); - se23.add(new JLabel("M\xE8tres")); + se23.add(new JLabel("m\xE8tres")); se23.setBorder(Sinavi3Bordures.bordnormal_); dimensions.add(se23); @@ -318,35 +326,35 @@ //etaleEcluse.add(se23); JPanel se331=new JPanel(new GridLayout(1,2)); - se331.setBorder(BorderFactory.createTitledBorder(Sinavi3Bordures.compound_,"Dur\xE9e des bassinn\xE9es")); + se331.setBorder(BorderFactory.createTitledBorder(Sinavi3Bordures.compound_,"Dur\xE9e des bassin\xE9es")); etaleEcluse.add(se331); - final JPanel se3 = new JPanel(new FlowLayout(FlowLayout.LEFT)); + final JPanel se3 = new JPanel(); - se3.add(new JLabel("Bassinn\xE9e montante:")); + se3.add(new JLabel("Bassin\xE9e montante:")); se3.add(this.cdureeFBMontant_); - se3.add(new JLabel("Min.Sec")); + se3.add(new JLabel("min.sec")); se3.setBorder(Sinavi3Bordures.bordnormal_); se331.add(se3); - final JPanel se31 = new JPanel(new FlowLayout(FlowLayout.LEFT)); - se31.add(new JLabel("Bassinn\xE9e avalante")); + final JPanel se31 = new JPanel(); + se31.add(new JLabel("Bassin\xE9e avalante:")); se31.add(this.cdureeFBAvalant_); - se31.add(new JLabel("Min.Sec")); + se31.add(new JLabel("min.sec")); se31.setBorder(Sinavi3Bordures.bordnormal_); se331.add(se31); final JPanel se4 = new JPanel(new GridLayout(1,2)); - se4.setBorder(BorderFactory.createTitledBorder(Sinavi3Bordures.compound_,"Dur\xE9e par d\xE9faut des manoeuvres")); + se4.setBorder(BorderFactory.createTitledBorder(Sinavi3Bordures.compound_,"Dur\xE9e des manoeuvres")); BuPanel se41=new BuPanel(); se41.setBorder(Sinavi3Bordures.bordnormal_); - se41.add(new JLabel("Entrant")); + se41.add(new JLabel("Manoeuvre entrante:")); se41.add(this.dureeManoeuvreEntrant); - se41.add(new JLabel("Heures.Minutes")); + se41.add(new JLabel("hrs.min")); BuPanel se42=new BuPanel(); se42.setBorder(Sinavi3Bordures.bordnormal_); - se42.add(new JLabel(" Sortant:")); + se42.add(new JLabel("Manoeuvre sortante:")); se42.add(this.dureeManoeuvreSortant); - se42.add(new JLabel("Heures.Minutes")); + se42.add(new JLabel("hrs.min")); se4.add(se41); se4.add(se42); @@ -359,27 +367,27 @@ //loi indisponibilit\xE9s Box loiIndispo= Box.createVerticalBox(); - loiIndispo.setBorder(BorderFactory.createTitledBorder(Sinavi3Bordures.compound_,"Loi indisponibilite")); + loiIndispo.setBorder(BorderFactory.createTitledBorder(Sinavi3Bordures.compound_,"Loi d'indisponibilit\xE9")); indispoCreneau.add(loiIndispo); final JPanel p31 = new JPanel(); - p31.add(new JLabel("Type de loi: ")); + p31.add(new JLabel("Type de loi:")); p31.add(choixLoiFrequence); p31.setBorder(Sinavi3Bordures.bordnormal_); loiIndispo.add(p31); final JPanel p32 = new JPanel(); - p32.add(new JLabel("Ecart moyen: ")); + p32.add(new JLabel("Ecart moyen:")); p32.add(this.frequenceMoyenne_); - p32.add(new JLabel("Jours")); + p32.add(new JLabel("jours")); p32.add(this.frequenceMoyenne2_); - p32.add(new JLabel("Heures")); + p32.add(new JLabel("heures")); p32.setBorder(Sinavi3Bordures.bordnormal_); loiIndispo.add(p32); final JPanel p33 = new JPanel(); - p33.add(new JLabel("Ordre loi d'Erlang frequence: ")); + p33.add(new JLabel("Ordre loi d'Erlang de la fr\xE9quence:")); p33.add(this.loiProbaFrequence_); p33.setBorder(Sinavi3Bordures.bordnormal_); loiIndispo.add(p33); @@ -391,19 +399,19 @@ //durees indispo Box dureeIndispo=Box.createVerticalBox(); - dureeIndispo.setBorder(BorderFactory.createTitledBorder(Sinavi3Bordures.compound_,"Duree indisponibilite")); + dureeIndispo.setBorder(BorderFactory.createTitledBorder(Sinavi3Bordures.compound_,"Dur\xE9e d'indisponibilit\xE9")); dureeIndispoCrenaux.add(dureeIndispo); final JPanel p21 = new JPanel(); - p21.add(new JLabel("Duree moyenne:")); + p21.add(new JLabel("Dur\xE9e moyenne:")); p21.add(this.dureeIndispo_); - p21.add(new JLabel("Heures.Minutes ")); + p21.add(new JLabel("hrs.min")); p21.setBorder(Sinavi3Bordures.bordnormal_); dureeIndispo.add(p21); final JPanel p23 = new JPanel(); - p23.add(new JLabel("Ordre loi d'Erlang de la dur\xE9e: ")); + p23.add(new JLabel("Ordre loi d'Erlang de la dur\xE9e:")); p23.add(this.loiProbaDuree_); p23.setBorder(Sinavi3Bordures.bordnormal_); dureeIndispo.add(p23); @@ -443,11 +451,11 @@ return false; } else if (this.MODE_MODIFICATION_ON_ && donnees_.listeEcluse_.existeDoublon(this.cNom_.getText(), this.ECLUSE_A_MODIFIER_)) { - new BuDialogError(donnees_.application_.getApp(), donnees_.application_.isSinavi_, "Nom deja pris.") + new BuDialogError(donnees_.application_.getApp(), donnees_.application_.isSinavi_, "Nom d\xE9j\xE0 pris.") .activate(); return false; } else if (!this.MODE_MODIFICATION_ON_ && donnees_.listeEcluse_.existeDoublon(this.cNom_.getText(), -1)) { - new BuDialogError(donnees_.application_.getApp(), donnees_.application_.isSinavi_, "Nom deja pris.") + new BuDialogError(donnees_.application_.getApp(), donnees_.application_.isSinavi_, "Nom d\xE9j\xE0 pris.") .activate(); return false; } @@ -469,25 +477,25 @@ } if (this.profondeur_.getText().equals("")) { new BuDialogError(donnees_.application_.getApp(), donnees_.application_.isSinavi_, - "Profondeur de \n l'\xE9cluse manquante.").activate(); + "Profondeur de l'\xE9cluse manquante.").activate(); return false; } else if (this.cdureeFBMontant_.getText().equals("")) { new BuDialogError(donnees_.application_.getApp(), donnees_.application_.isSinavi_, - "Duree fausse bassinnee montant manquante.").activate(); + "Dur\xE9e de fausse bassin\xE9e montante manquante.").activate(); return false; } else if (this.cdureeFBAvalant_.getText().equals("")) { new BuDialogError(donnees_.application_.getApp(), donnees_.application_.isSinavi_, - "Duree de fausse bassinee avalant manquante.").activate(); + "Dur\xE9e de fausse bassin\xE9e avalante manquante.").activate(); return false; } if (this.dureeManoeuvreEntrant.getText().equals("")) { new BuDialogError(donnees_.application_.getApp(), donnees_.application_.isSinavi_, - "Dur\xE9e par d\xE9faut des manoeuvres entrant manquante.").activate(); + "Dur\xE9e de manoeuvre entrante manquante.").activate(); return false; }/* * if(this.ccreneauetaleavtPMfin_.getText().equals("")) { new @@ -499,7 +507,7 @@ */ if (this.dureeManoeuvreSortant.getText().equals("")) { new BuDialogError(donnees_.application_.getApp(), donnees_.application_.isSinavi_, - "Dur\xE9e par d\xE9faut des manoeuvres sortant manquante.").activate(); + "Dur\xE9e de manoeuvre sortante manquante.").activate(); return false; } @@ -507,14 +515,14 @@ if (this.horaire_.semaineCreneau1HeureArrivee == -1 || this.horaire_.semaineCreneau1HeureDep == -1 || this.horaire_.semaineCreneau2HeureArrivee == -1 || this.horaire_.semaineCreneau2HeureDep == -1) { new BuDialogError(donnees_.application_.getApp(), donnees_.application_.isSinavi_, - "Cr\xE9neaux non saisi correctement.").activate(); + "Cr\xE9neaux non saisis correctement.").activate(); return false; } if (this.dureeIndispo_.getText().equals("")) { new BuDialogError(donnees_.application_.getApp(), donnees_.application_.isSinavi_, - "Duree d'indisponibilite manquante.").activate(); + "Dur\xE9e d'indisponibilit\xE9 manquante.").activate(); return false; } @@ -525,7 +533,7 @@ if (choixLoiFrequence.getSelectedIndex() == 0) { if (this.frequenceMoyenne_.getText().equals("") && this.frequenceMoyenne2_.getText().equals("")) { new BuDialogError(donnees_.application_.getApp(), donnees_.application_.isSinavi_, - "Frequence moyenne manquant.").activate(); + "Fr\xE9quence moyenne manquante.").activate(); return false; } Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3PanelSaisieGare.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3PanelSaisieGare.java 2008-08-20 15:07:17 UTC (rev 3829) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3PanelSaisieGare.java 2008-08-21 15:27:05 UTC (rev 3830) @@ -32,7 +32,7 @@ /** * Bouton de validation du gare */ - final BuButton validation_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_oui"), "valider"); + final BuButton validation_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_oui"), "Valider"); /** * donn\xE9es de la simulation @@ -72,22 +72,22 @@ this.setLayout(new BorderLayout()); this.nom_.setText("Gare " + (this.donnees_.listeGare_.listeGares_.size() + 1)); - this.nom_.setToolTipText("Saisissez le nom de la gare ici"); + this.nom_.setToolTipText("Nom de la gare"); - validation_.setToolTipText("Cliquez sur ce bouton pour valider la saisie"); + validation_.setToolTipText("Valide les donn\xE9es saisies"); validation_.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { System.out.println("validation du noom de la gare:"); if (nom_.getText().equals("")) { new BuDialogError(donnees_.application_.getApp(), Sinavi3Implementation.isSinavi_, - "La gare n'as pas de nom.").activate(); + "La gare n'a pas de nom.").activate(); } else if (MODE_MODIFICATION_ON_ && donnees_.listeGare_.existeDoublon(nom_.getText(), GARE_A_MODIFIER_)) { new BuDialogError(donnees_.application_.getApp(), Sinavi3Implementation.isSinavi_, - "Le nom de gare est d\xE9ja pris.").activate(); + "Ce nom est d\xE9j\xE0 attribu\xE9 \xE0 une autre gare.").activate(); } else if (!MODE_MODIFICATION_ON_ && donnees_.listeGare_.existeDoublon(nom_.getText(), -1)) { new BuDialogError(donnees_.application_.getApp(), Sinavi3Implementation.isSinavi_, - "Le nom de gare est d\xE9ja pris.").activate(); + "Ce nom est d\xE9j\xE0 attribu\xE9 \xE0 une autre gare.").activate(); } else { /** @@ -118,8 +118,8 @@ // 4)mode modification remis a false par defaut MODE_MODIFICATION_ON_ = false; - MENUGARES_.mode.setText("Saisie: "); - validation_.setText("valider"); + MENUGARES_.mode.setText("Ajout d'une gare:"); + validation_.setText("Valider"); MENUGARES_.suppression_.setEnabled(true); } @@ -152,8 +152,8 @@ MODE_MODIFICATION_ON_ = true; this.nom_.setText(this.donnees_.listeGare_.retournerGare(numGare)); GARE_A_MODIFIER_ = numGare; - this.MENUGARES_.mode.setText("Modification: "); - this.validation_.setText("modifier"); + this.MENUGARES_.mode.setText("Modification d'une gare:"); + this.validation_.setText("Valider"); this.MENUGARES_.suppression_.setEnabled(false); } Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3VisualiserGares.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3VisualiserGares.java 2008-08-20 15:07:17 UTC (rev 3829) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3VisualiserGares.java 2008-08-21 15:27:05 UTC (rev 3830) @@ -21,6 +21,8 @@ import org.fudaa.fudaa.ressource.FudaaResource; import com.memoire.bu.BuButton; +import com.memoire.bu.BuDialogError; +import com.memoire.bu.BuDialogConfirmation; /** * Fenetre principale de saisie et d affichage des Gares on g\xE9re toutes les donn\xE9es relatives aux gares via ces @@ -60,10 +62,10 @@ JScrollPane ascenceur; // composants: - private final BuButton boutonSaisie_ = new BuButton(FudaaResource.FUDAA.getIcon("ajouter"), "ajout"); - private final BuButton modification_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_maj"), "modifier"); - private final BuButton quitter_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_oui"), "quitter"); - final BuButton suppression_ = new BuButton(FudaaResource.FUDAA.getIcon("detruire_22"), "supprimer"); + private final BuButton boutonSaisie_ = new BuButton(FudaaResource.FUDAA.getIcon("ajouter"), "Ajouter"); + private final BuButton modification_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_maj"), "Modifier"); + private final BuButton quitter_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_oui"), "Quitter"); + final BuButton suppression_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_detruire"), "Supprimer"); JLabel mode = new JLabel("Saisie"); @@ -83,7 +85,7 @@ super("", true, true, true, true); donnees_ = d; - setTitle("Gestion des Gares"); + setTitle("Gestion des gares"); setSize(500, 300); this.getContentPane().setLayout(new BorderLayout()); setBorder(Sinavi3Bordures.compound_); @@ -91,12 +93,12 @@ * tooltiptext des boutons */ this.boutonSaisie_ - .setToolTipText("permet de saisir une nouvelle donn\xE9e afin de l'ajouter \xE0 l'ensemble des param\xE8tres"); + .setToolTipText("Permet la saisie d'une nouvelle gare"); this.modification_ - .setToolTipText("permet de modifier un \xE9l\xE9ment: il faut dabord cliquer sur l'\xE9l\xE9ment \xE0 modifier dans le menu \"voir\""); - this.quitter_.setToolTipText("cliquez sur ce bouton pour fermer la sous fen\xEAtre"); + .setToolTipText("Permet la modification de la gare s\xE9lectionn\xE9e ci-dessus"); + this.quitter_.setToolTipText("Ferme la sous-fen\xEAtre"); this.suppression_ - .setToolTipText("permet de supprimer une donn\xE9e: cliquez d'abord sur l'\xE9l\xE9ment \xE0 supprimer dans le menu \"voir\""); + .setToolTipText("Supprime la gare s\xE9lectionn\xE9e ci-dessus"); /** * ***************************************************************** Gestion des controles de la fenetre @@ -109,9 +111,8 @@ System.out.println("La ligne selectionnee est: " + affichagePanel_.tableau_.getSelectedRow()); final int numGare = affichagePanel_.tableau_.getSelectedRow(); if (numGare == -1) { - JOptionPane.showMessageDialog(null, - "Erreur!! Vous devez cliquer sur la gare \xE9 modifier dans le tableau d'affichage!", "Avertissement", - JOptionPane.ERROR_MESSAGE); + new BuDialogError(donnees_.application_.getApp(), Sinavi3Implementation.isSinavi_, + "Aucune gare n'est s\xE9lectionn\xE9e.").activate(); } else { // 2)appel a la mehode de modification de PanelSaisieQuai(a ecrire): met boolean MODIF=true @@ -128,15 +129,15 @@ System.out.println("La ligne selectionnee est: " + affichagePanel_.tableau_.getSelectedRow()); final int numGare = affichagePanel_.tableau_.getSelectedRow(); if (numGare == -1) { - JOptionPane.showMessageDialog(null, - "Erreur!! Vous devez cliquer sur la gare \xE9 supprimer dans le tableau d'affichage!", "Avertissement", - JOptionPane.ERROR_MESSAGE); + new BuDialogError(donnees_.application_.getApp(), Sinavi3Implementation.isSinavi_, + "Aucune gare n'est s\xE9lectionn\xE9e.").activate(); } else { // on s occupe de la supresion des gares: // 1)on demande confirmation: - final int confirmation = JOptionPane.showConfirmDialog(null, "\xE9tes vous sur de supprimer la gare " - + donnees_.listeGare_.retournerGare(numGare) + " ?", "Suppression", JOptionPane.YES_NO_OPTION); + final int confirmation = new BuDialogConfirmation(donnees_.application_.getApp(), + Sinavi3Implementation.isSinavi_, "Voulez-vous vraiment supprimer la gare " + + donnees_.listeGare_.retournerGare(numGare) + " ?").activate(); if (confirmation == 0) { // 2)on supprime le numero du quai correspondant a la suppression @@ -188,9 +189,9 @@ // le panel de controle: this.controlePanel.add(quitter_); - // this.controlePanel.add(ajout); + //this.controlePanel.add(boutonSaisie_); this.controlePanel.add(modification_); - // this.controlePanel.add(suppression_); + this.controlePanel.add(suppression_); this.controlePanel.setBorder(Sinavi3Bordures.compound_); this.getContentPane().add(controlePanel, BorderLayout.SOUTH); @@ -236,7 +237,7 @@ // desactivation du thread // dureeVieThread=false; - System.out.print("Fin de la fenetre de gestion des bassins!!"); + System.out.print("Fermeture de la fenetre de gestion des gares."); dispose(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2008-08-20 15:07:12
|
Revision: 3829 http://fudaa.svn.sourceforge.net/fudaa/?rev=3829&view=rev Author: hadouxad Date: 2008-08-20 15:07:17 +0000 (Wed, 20 Aug 2008) Log Message: ----------- - Modification de l'ajout des graphes: ajoute directement dans la scene le widget - implementation de l niterface ObjectSceneListener pour trPostLayoutFille qui modifie l'arbre de FudaaImplementation et sa toolBar des reception du notify - Composant scrollPane de droite en memoire et toolbar de la frame en memoire - Modification de ces composants en fonction du type de widget selectionne 4 cas: - Calque selectionne: affichage du tree calque a droite et de sa toolbar et menu dans trpostlayoutfille - Graphe selectionne: affichage du tree graphe a droite et de sa toolbar et menu dans trpostlayoutfille - Autre composant selectionne: affichage du tree des widgets a droite et toolbar et menu contient juste action modif couleur contour,rotation... - Rien de selectionn?\195?\169: on affiche le tree des widgets - Amelioration pour EDF: Un seul clic sur le widget: modification du widget (CF: EbliActionEditorOneClick) - creation de l editeur dans la widget pour les graphes - creation de l editeur dans la widget pour les calques - Depuis l'editeur de graphe et calque, possibilit?\195?\169 d'exporter ers la fenetre dock avec toutes les fonctionnalites - Demarrage du post avec les fonctions associees au calque. - Bouton permettant de recr?\195?\169er un calque initial (si jamais l'utilisateur supprime le sien...) - Correction du bug de configurer les graphismes du graphe. Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluFilleWithComponent.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliFilleCalques.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFilleSimple.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFilleTree.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeListener.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetEditCreator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetCreatorGraphe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetJXTreeTableModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/report/FudaaReportFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java branches/Prepro-0.92-SNAPSHOT/fudaa/test/org/fudaa/fudaa/all/FudaaCourbeExample.java branches/Prepro-0.92-SNAPSHOT/fudaa/test/org/fudaa/fudaa/all/TestFudaaDjaFrame.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliActionEditorOneClick.java Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluFilleWithComponent.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluFilleWithComponent.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluFilleWithComponent.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -31,7 +31,7 @@ * La classe de l'objet doit etre la meme que getComponentClass. * @return le composant a l'etat initiale. Appele la premiere fois pour construire le composant. */ - JComponent createComponent(); + JComponent createPanelComponent(); /** * La classe de l'objet doit etre la meme que getComponentClass. * @param o le composant a mettre a jour Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliFilleCalques.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliFilleCalques.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliFilleCalques.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -148,7 +148,7 @@ pn_.getController().clearSelections(); } - public JComponent createComponent() { + public JComponent createPanelComponent() { if (arbre_ == null) { arbre_ = new BArbreCalque(); arbre_.setName("ARBRE_CALQUE"); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFilleSimple.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFilleSimple.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFilleSimple.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -95,7 +95,7 @@ TableModel listModel_; - public JComponent createComponent() { + public JComponent createPanelComponent() { if (list_ == null) { list_ = new EGListSimple(); list_.setColumnSelectionAllowed(false); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFilleTree.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFilleTree.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGFilleTree.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -92,7 +92,7 @@ EGSpecificActions actions_; EGTree tree_; - public JComponent createComponent(){ + public JComponent createPanelComponent(){ if (tree_ == null) { if (CtuluLibMessage.DEBUG) { CtuluLibMessage.debug("init composant pour graphe fille"); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeListener.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeListener.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeListener.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -6,4 +6,6 @@ void nodeRemoved(EbliNode node); + + } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -197,7 +197,26 @@ } } + + /** + * Methode qui permet d envoyer le signal du node selectionn\xE9 a tous les + * listener + * + * @param listener + */ + public void notifyAllListenerNodeSelected(EbliNode node) { + if (listenerList == null) + return; + for (Iterator<EbliNodeListener> it = listenerList.iterator(); it.hasNext();) { + EbliNodeListener listener = it.next(); + listener.nodeRemoved(node); + } + + } + + + @Override protected void notifyNodeAdded(EbliNode node, Widget widget) { // -- notifier tous les listener que le noeud a ete attache --// Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -110,7 +110,7 @@ */ public Object getProperty(String _key) { - System.err.println("suis dans getProperty key= " + _key); + // -- cas particulier si il s agit de la rotation --// // -- il faut transformer les degres en radian --// @@ -133,7 +133,7 @@ */ public boolean setProperty(String _key, Object prop) { - System.err.println("Je suis rentre dans setProperty key= " + _key); + // --cas particulier si il s agit du tracelignemodel: il faut mettre a jour // l ancien lignemodel --// @@ -224,32 +224,8 @@ */ public void constructPopupMenuBase(JPopupMenu _popup) { - JMenuItem menuItem4 = _popup.add("Configuration graphique"); - menuItem4.setIcon(CtuluResource.CTULU.getIcon("crystal_configurer")); - // BuResource.BU.getIcon("configurer") - menuItem4.addActionListener(new ActionListener() { + - public void actionPerformed(ActionEvent e) { - - EbliWidget found = EbliWidget.this; - - BConfigurePalette palette = new BConfigurePalette(false); - - BConfigurableComposite cmp = new BConfigurableComposite(found.getConfigureInterfaces(), "test"); - - palette.setTargetConf(cmp); - JDialog d = new JDialog(); - d.setModal(true); - d.setTitle("Configuration graphique"); - d.setContentPane(palette); - - d.pack(); - d.setVisible(true); - - } - - }); - JMenuItem menuItem3 = _popup.add("Masquer l'objet"); menuItem3.setIcon(CtuluResource.CTULU.getIcon("crystal22_visibilite")); menuItem3.addActionListener(new ActionListener() { @@ -349,6 +325,8 @@ public JPopupMenu getPopupMenu(Widget widget, Point localLocation) { JPopupMenu popup = new JPopupMenu(); + // -- construction du menu pour les graphismees --// + constructPopupMenuBaseGraphique(popup); // -- creation du menu commun a tous les widgets constructPopupMenuBase(popup); @@ -357,6 +335,42 @@ })); } + /** + * Attention ce menu ne doit pas apparaitre pour les calques et graphe car il + * n a aucun effet. + * + * @param _popup + */ + public void constructPopupMenuBaseGraphique(JPopupMenu _popup) { + + JMenuItem menuItem4 = _popup.add("Configuration"); + menuItem4.setIcon(CtuluResource.CTULU.getIcon("crystal_configurer")); + // BuResource.BU.getIcon("configurer") + menuItem4.addActionListener(new ActionListener() { + + public void actionPerformed(ActionEvent e) { + + EbliWidget found = EbliWidget.this; + + BConfigurePalette palette = new BConfigurePalette(false); + + BConfigurableComposite cmp = new BConfigurableComposite(found.getConfigureInterfaces(), "test"); + + palette.setTargetConf(cmp); + JDialog d = new JDialog(); + d.setModal(true); + d.setTitle("Configuration graphique"); + d.setContentPane(palette); + + d.pack(); + d.setVisible(true); + + } + + }); + } + + public void setScene_(EbliScene scene_) { this.scene_ = scene_; } Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliActionEditorOneClick.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliActionEditorOneClick.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliActionEditorOneClick.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -0,0 +1,210 @@ +package org.fudaa.ebli.visuallibrary.actions; + +import java.awt.Container; +import java.awt.Dimension; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.event.KeyEvent; +import java.awt.event.MouseEvent; +import java.util.EnumSet; + +import javax.swing.JComponent; + +import org.netbeans.api.visual.action.InplaceEditorProvider; +import org.netbeans.api.visual.action.WidgetAction; +import org.netbeans.api.visual.widget.Scene; +import org.netbeans.api.visual.widget.Widget; +import org.netbeans.modules.visual.util.GeomUtil; + +/** + * Classe qui permet d'ouvrir l editor en 1 seul clic. + * + * @author David Kaspar + * @pompeur Adrien Hadoux + * + */ +public final class EbliActionEditorOneClick<C extends JComponent> extends WidgetAction.LockedAdapter implements + InplaceEditorProvider.EditorController { + + private InplaceEditorProvider<C> provider; + + private C editor = null; + private Widget widget = null; + private Rectangle rectangle = null; + + public EbliActionEditorOneClick(InplaceEditorProvider<C> provider) { + this.provider = provider; + } + + protected boolean isLocked() { + return editor != null; + } + +/** + * Modification ici: pour activer l editor, il suffit d appuyer une seule fois + * sur l editeur + */ + public State mouseClicked(Widget widget, WidgetMouseEvent event) { + if (event.getButton() == MouseEvent.BUTTON1 /*&& event.getClickCount() == 2*/) { + if (openEditor(widget)) + return State.createLocked(widget, this); + } + return State.REJECTED; + } + + public State mousePressed(Widget widget, WidgetMouseEvent event) { + if (editor != null) + closeEditor(true); + return State.REJECTED; + } + + public State mouseReleased(Widget widget, WidgetAction.WidgetMouseEvent event) { + if (editor != null) + closeEditor(true); + return State.REJECTED; + } + + public State keyPressed(Widget widget, WidgetKeyEvent event) { + if (event.getKeyChar() == KeyEvent.VK_ENTER) + if (openEditor(widget)) + return State.createLocked(widget, this); + return State.REJECTED; + } + + public final boolean isEditorVisible() { + return editor != null; + } + + public final boolean openEditor(Widget widget) { + if (editor != null) + return false; + + Scene scene = widget.getScene(); + JComponent component = scene.getView(); + if (component == null) + return false; + + editor = provider.createEditorComponent(this, widget); + if (editor == null) + return false; + this.widget = widget; + + component.add(editor); + provider.notifyOpened(this, widget, editor); + + Rectangle rectangle = widget.getScene().convertSceneToView(widget.convertLocalToScene(widget.getBounds())); + + Point center = GeomUtil.center(rectangle); + Dimension size = editor.getMinimumSize(); + if (rectangle.width > size.width) + size.width = rectangle.width; + if (rectangle.height > size.height) + size.height = rectangle.height; + int x = center.x - size.width / 2; + int y = center.y - size.height / 2; + + rectangle = new Rectangle(x, y, size.width, size.height); + updateRectangleToFitToView(rectangle); + + Rectangle r = provider.getInitialEditorComponentBounds(this, widget, editor, rectangle); + this.rectangle = r != null ? r : rectangle; + + editor.setBounds(x, y, size.width, size.height); + notifyEditorComponentBoundsChanged(); + editor.requestFocusInWindow(); + + return true; + } + + private void updateRectangleToFitToView(Rectangle rectangle) { + JComponent component = widget.getScene().getView(); + if (rectangle.x + rectangle.width > component.getWidth()) + rectangle.x = component.getWidth() - rectangle.width; + if (rectangle.y + rectangle.height > component.getHeight()) + rectangle.y = component.getHeight() - rectangle.height; + if (rectangle.x < 0) + rectangle.x = 0; + if (rectangle.y < 0) + rectangle.y = 0; + } + + public final void closeEditor(boolean commit) { + if (editor == null) + return; + Container parent = editor.getParent(); + Rectangle bounds = parent != null ? editor.getBounds() : null; + provider.notifyClosing(this, widget, editor, commit); + boolean hasFocus = editor.hasFocus(); + if (bounds != null) { + parent.remove(editor); + parent.repaint(bounds.x, bounds.y, bounds.width, bounds.height); + } + editor = null; + widget = null; + rectangle = null; + if (hasFocus) + if (parent != null) + parent.requestFocusInWindow(); + } + + public void notifyEditorComponentBoundsChanged() { + EnumSet<InplaceEditorProvider.ExpansionDirection> directions = provider + .getExpansionDirections(this, widget, editor); + if (directions == null) + directions = EnumSet.noneOf(InplaceEditorProvider.ExpansionDirection.class); + Rectangle rectangle = this.rectangle; + Dimension size = editor.getPreferredSize(); + Dimension minimumSize = editor.getMinimumSize(); + if (minimumSize != null) { + if (size.width < minimumSize.width) + size.width = minimumSize.width; + if (size.height < minimumSize.height) + size.height = minimumSize.height; + } + + int heightDiff = rectangle.height - size.height; + int widthDiff = rectangle.width - size.width; + + boolean top = directions.contains(InplaceEditorProvider.ExpansionDirection.TOP); + boolean bottom = directions.contains(InplaceEditorProvider.ExpansionDirection.BOTTOM); + + if (top) { + if (bottom) { + rectangle.y += heightDiff / 2; + rectangle.height = size.height; + } else { + rectangle.y += heightDiff; + rectangle.height = size.height; + } + } else { + if (bottom) { + rectangle.height = size.height; + } else { + } + } + + boolean left = directions.contains(InplaceEditorProvider.ExpansionDirection.LEFT); + boolean right = directions.contains(InplaceEditorProvider.ExpansionDirection.RIGHT); + + if (left) { + if (right) { + rectangle.x += widthDiff / 2; + rectangle.width = size.width; + } else { + rectangle.x += widthDiff; + rectangle.width = size.width; + } + } else { + if (right) { + rectangle.width = size.width; + } else { + } + } + + updateRectangleToFitToView (rectangle); + + editor.setBounds (rectangle); + editor.repaint (); + } + +} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetEditCreator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetEditCreator.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetEditCreator.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -127,7 +127,9 @@ final DefaultDockingPort globalPort = createDockingPort(); JComponent centerComponent = createView(pn, EbliResource.EBLI.getToolIcon("curves"), EbliLib.getS("Courbes")); DockingManager.dock(centerComponent, (DockingPort) globalPort); + // POUR TOI LA FORCE AVOIR LE SELECTION MODEL A TOI ATTACHER TU DOIS// JTree tree = new JTree((EGGrapheTreeModel) pn.getGraphe().getModel()); + tree.setSelectionModel(((EGGrapheTreeModel) pn.getGraphe().getModel()).getSelectionModel()); JComponent rightComponent = createView(new JScrollPane(tree), EbliResource.EBLI.getToolIcon("arbre"), "arbre", true); DockingManager.dock(rightComponent, centerComponent, DockingConstants.EAST_REGION, 0.75f); @@ -157,11 +159,11 @@ // return createView(panel, name, true); // } - protected static JComponent createView(JComponent jc, Icon ic, String name) { + public static JComponent createView(JComponent jc, Icon ic, String name) { return createView(jc, ic, name, false); } - protected static JComponent createView(JComponent jc, Icon ic, String name, boolean dockage) { + public static JComponent createView(JComponent jc, Icon ic, String name, boolean dockage) { View view = new View(name); view.setIcon(ic); view.getViewProperties().setDockingEnabled(false); @@ -171,6 +173,7 @@ } view.setContentPane(jc); view.setTitle(name, true); + view.setPreferredSize(jc.getPreferredSize()); // DockingManager.registerDockable(view.getComponent(), name); return view; Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -1,5 +1,6 @@ package org.fudaa.ebli.visuallibrary.calque; +import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; @@ -11,6 +12,7 @@ import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.image.BufferedImage; +import java.util.EnumSet; import java.util.HashMap; import java.util.Map; @@ -27,14 +29,20 @@ import org.fudaa.ebli.visuallibrary.EbliNodeDefault; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.EbliWidget; +import org.fudaa.ebli.visuallibrary.actions.EbliActionEditorOneClick; import org.netbeans.api.visual.action.ActionFactory; -import org.netbeans.api.visual.action.EditProvider; +import org.netbeans.api.visual.action.InplaceEditorProvider; import org.netbeans.api.visual.action.PopupMenuProvider; import org.netbeans.api.visual.action.WidgetAction; import org.netbeans.api.visual.widget.Widget; +import com.memoire.bu.BuButton; +import com.memoire.bu.BuPanel; +import com.memoire.bu.BuResource; import com.memoire.fu.FuLog; + + /** * * Classe permettant d'afficher un calque en tant que Widget @@ -42,7 +50,8 @@ * @author deniger * */ -public class EbliWidgetVueCalque extends EbliWidget implements EditProvider { +public class EbliWidgetVueCalque extends EbliWidget implements +/* EditProvider */InplaceEditorProvider<BuPanel> { ZEbliCalquesPanel calquePanel_; @@ -50,11 +59,13 @@ public Color couleurFond = Color.white; private EbliNodeDefault nodeLegende = null; - + Window frame_; BufferedImage image; + BuPanel conteneurEditor; + GrBoite zoom_; public EbliWidgetVueCalque(EbliScene scene, ZEbliCalquesPanel vue) { @@ -69,15 +80,61 @@ // calquePanel_.restaurer(); // -- creation de l action pour editor --// - WidgetAction editorAction = ActionFactory.createEditAction(this); - + // WidgetAction editorAction = ActionFactory.createEditAction(this); + // WidgetAction editorAction = + // ActionFactory.createInplaceEditorAction(this); + WidgetAction editorAction = new EbliActionEditorOneClick<BuPanel>(this); // -- ajout de l action au widget correspondant --// this.getActions().addAction(editorAction); + + + } + public BuPanel createEditorComponent( + org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget) { + + conteneurEditor = new BuPanel(new BorderLayout()); + + conteneurEditor.add(calquePanel_, BorderLayout.CENTER); + + BuButton fonctionsCompletes = new BuButton("Ouvrir dans une fen\xEAtre", BuResource.BU.getIcon("crystal_valider")); + fonctionsCompletes.addActionListener(new ActionListener() { + + public void actionPerformed(ActionEvent e) { + // Cree la frame de docking associee au calque + edit(EbliWidgetVueCalque.this); + + } + + }); + conteneurEditor.add(fonctionsCompletes, BorderLayout.SOUTH); + + return conteneurEditor; + } + + /** + * appel\xE9 lors de la fermeture de l editeur. Il faut redessiner la widget. + */ + public void notifyClosing(org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, + Widget widget, BuPanel editor, boolean commit) { + + zoom_ = calquePanel_.getVueCalque().getViewBoite(); + image = null; + getEbliScene().refresh(); + this.repaint(); + } + + /** + * Creer une frame qui contient toutes les fonctions pour modifier le calque. + * Ancienne methode edit(). + * + * @param _widget + */ public void edit(Widget _widget) { - if (frame_ != null) frame_.toFront(); + if (frame_ != null) + frame_.toFront(); else { final GrBoite gr = calquePanel_.getVueCalque().getViewBoite(); Rectangle rec = convertLocalToScene(getClientArea()); @@ -88,7 +145,10 @@ frame_ = getEbliScene().getEditor().createFrame(calquePanel_, getTitle()); p.x = p.x - 50; p.y = p.y - 50; - frame_.setLocation(p); + // frame_.setLocation(p); + // -- centrer la vue par rapport a la frame principal car si le widget est + // en bas a droite, c'est la merde! + frame_.setLocationRelativeTo(this.getScene().getView()); calquePanel_.getVueCalque().changeRepere(this, gr); frame_.setVisible(true); @@ -96,16 +156,20 @@ @Override public void windowClosed(WindowEvent _e) { - if (frame_ != null) frame_.dispose(); + if (frame_ != null) + frame_.dispose(); frame_ = null; } @Override public void windowClosing(WindowEvent _e) { - setPreferredSize(calquePanel_.getVueCalque().getSize()); + // setPreferredSize(calquePanel_.getVueCalque().getSize()); zoom_ = calquePanel_.getVueCalque().getViewBoite(); image = null; getEbliScene().refresh(); + // YODA:RAJOUTER LE GRAPHE DANS EDITOR TU DOIS CAR DANS FRAME IL + // EST + conteneurEditor.add(calquePanel_, BorderLayout.CENTER); } }); @@ -155,7 +219,7 @@ g.drawImage(image, rec.x, rec.y, rec.width, rec.height, null); } - + /** * Surcharge de la creation du menu de base en ajoutant les menus specifiques */ @@ -164,18 +228,19 @@ public JPopupMenu getPopupMenu(Widget widget, Point localLocation) { JPopupMenu popup = new JPopupMenu(); + // -- Menu sp\xF6cifiques a l'application--// + constructPopupMenuSpecifique(popup); // -- creation du menu commun a tous les widgets constructPopupMenuBase(popup); - // -- Menu sp\xF6cifiques a l'application--// - constructPopupMenuSpecifique(popup); + return popup; } })); } private void constructPopupMenuSpecifique(JPopupMenu _popup) { JMenuItem menuItem = _popup.add("Ajouter la l\xE9gende"); - menuItem.setIcon(CtuluResource.CTULU.getIcon("crystal22_commentaire")); + menuItem.setIcon(CtuluResource.CTULU.getIcon("crystal_commentaire")); menuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -190,7 +255,7 @@ if (!EbliWidgetVueCalque.this.getEbliScene().isObject(nodeLegende)) { - + nodeLegende = new EbliNodeDefault(); // nodeLegende.setTitle("Legende calque"); // @@ -206,8 +271,8 @@ // methode qui permet d ajouter une legemde calquePanel_.addWidgetLegendeCalque(); - - + + EbliWidgetVueCalque.this.getEbliScene().refresh(); } @@ -219,9 +284,30 @@ } - - -// public void setColorFond(Color newColor) { + + + + public EnumSet<org.netbeans.api.visual.action.InplaceEditorProvider.ExpansionDirection> getExpansionDirections( + org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget, + BuPanel editor) { + return null; + } + + public Rectangle getInitialEditorComponentBounds( + org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget, + BuPanel editor, + Rectangle viewBounds) { + return null; + } + + + + public void notifyOpened(org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, + Widget widget, BuPanel editor) { + } + + + // public void setColorFond(Color newColor) { // couleurFond = newColor; // repaint(); // } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetCreatorGraphe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetCreatorGraphe.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetCreatorGraphe.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -19,6 +19,10 @@ public EGGraphe getGraphe() { return pn_.getGraphe(); } + + public EGFillePanel getGraphePanel() { + return pn_; + } // // public void setGraphe(EGGraphe graphe) { Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -1,5 +1,6 @@ package org.fudaa.ebli.visuallibrary.graphe; +import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; @@ -11,6 +12,7 @@ import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.image.BufferedImage; +import java.util.EnumSet; import java.util.HashMap; import java.util.Map; @@ -21,18 +23,25 @@ import org.fudaa.ctulu.CtuluResource; import org.fudaa.ctulu.image.CtuluLibImage; +import org.fudaa.ebli.courbe.EGAxe; import org.fudaa.ebli.courbe.EGConfigureActionPalette; import org.fudaa.ebli.courbe.EGFillePanel; import org.fudaa.ebli.courbe.EGGraphe; +import org.fudaa.ebli.courbe.EGGrapheModelListener; +import org.fudaa.ebli.courbe.EGObject; import org.fudaa.ebli.visuallibrary.EbliNodeDefault; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.EbliWidget; +import org.fudaa.ebli.visuallibrary.actions.EbliActionEditorOneClick; import org.netbeans.api.visual.action.ActionFactory; -import org.netbeans.api.visual.action.EditProvider; +import org.netbeans.api.visual.action.InplaceEditorProvider; import org.netbeans.api.visual.action.PopupMenuProvider; import org.netbeans.api.visual.action.WidgetAction; import org.netbeans.api.visual.widget.Widget; +import com.memoire.bu.BuButton; +import com.memoire.bu.BuPanel; +import com.memoire.bu.BuResource; import com.memoire.fu.FuLog; /** @@ -41,18 +50,15 @@ * @author adrien hadoux * */ -public class EbliWidgetGraphe extends EbliWidget implements EditProvider/* - * , - * InplaceEditorProvider - * < - * BuPanel - * > - */{ +public class EbliWidgetGraphe extends EbliWidget implements /* EditProvider */InplaceEditorProvider<BuPanel>, + EGGrapheModelListener { // private EGGraphe graphe_; Window frame_; EGFillePanel panelGraphe_; + BuPanel conteneurEditor; + private EbliNodeDefault nodeLegende = null; public Color couleurContour = Color.black; @@ -70,10 +76,16 @@ public EbliWidgetGraphe(EbliScene scene, Point preferredLocation, EGFillePanel _pn) { super(scene); panelGraphe_ = _pn; - WidgetAction editorAction = ActionFactory.createEditAction(this); - + // WidgetAction editorAction = ActionFactory.createEditAction(this); + // WidgetAction editorAction = + // ActionFactory.createInplaceEditorAction(this); + WidgetAction editorAction = new EbliActionEditorOneClick<BuPanel>(this); // -- ajout de l action au widget correspondant --// this.getActions().addAction(editorAction); + + + panelGraphe_.getGraphe().getModel().addModelListener(this); + } public EbliWidgetGraphe(EbliScene scene, Point preferredLocation, EGGraphe _graphe) { @@ -93,10 +105,11 @@ if (frame_ == null) { getGraphe().setSize(rec.width - 1, rec.height - 1); -// getGraphe().computeMarges(g); -// getGraphe().dessine(g, rec.width - 1, rec.height - 1, false); + // getGraphe().computeMarges(g); + // getGraphe().dessine(g, rec.width - 1, rec.height - 1, false); } + // mode edition if (image == null || image.getWidth() != rec.width || image.getHeight() != rec.height) { FuLog.debug("EWI: recreate image"); @@ -107,14 +120,8 @@ } g.drawImage(image, rec.x, rec.y, rec.width, rec.height, null); - // -- couleur de fond --// - // g.setColor(couleurFond); - // g.fillRect(0, 0, rec.width, rec.height); + - // BufferedImage image = courbe.produceImage( - // rec.width - 1, rec.height - 1, - // Collections.EMPTY_MAP); - g.translate(-rec.x, -rec.y); } @@ -126,16 +133,19 @@ public JPopupMenu getPopupMenu(Widget widget, Point localLocation) { JPopupMenu popup = new JPopupMenu(); + + // -- Menu sp\xF6cifiques a l'application--// + constructPopupMenuSpecifique(popup); + // -- creation du menu commun a tous les widgets constructPopupMenuBase(popup); - // -- Menu sp\xF6cifiques a l'application--// - constructPopupMenuSpecifique(popup); + return popup; } })); } - + /** * ajoutant la possibilit\xE9 de configurer la courbe ainsi que la l\xE9gende * @@ -143,7 +153,7 @@ */ private void constructPopupMenuSpecifique(JPopupMenu _popup) { JMenuItem menuItem = _popup.add("Ajouter la l\xE9gende"); - menuItem.setIcon(CtuluResource.CTULU.getIcon("crystal22_commentaire")); + menuItem.setIcon(CtuluResource.CTULU.getIcon("crystal_commentaire")); menuItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -182,11 +192,42 @@ }); // -- creation du menu config de la courbe + _popup.add(new EGConfigureActionPalette(getGraphe().getModel())); + } + public BuPanel createEditorComponent( + org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget) { + + conteneurEditor = new BuPanel(new BorderLayout()); + conteneurEditor.add(this.panelGraphe_, BorderLayout.CENTER); + + BuButton fonctionsCompletes = new BuButton("Ouvrir dans une fen\xEAtre", BuResource.BU.getIcon("crystal_valider")); + fonctionsCompletes.addActionListener(new ActionListener() { + + public void actionPerformed(ActionEvent e) { + // Cree la frame de docking associee au graphe + edit(EbliWidgetGraphe.this); + } + + }); + conteneurEditor.add(fonctionsCompletes, BorderLayout.SOUTH); + + return conteneurEditor; + } + + + public void notifyClosing(org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, + Widget widget, BuPanel editor, boolean commit) { + } + // TODO a changer pour ne recreer tout plein de listener a chaque fois + /** + * Ancienne version de edit(). genere une frame complete pour prametrer le + * graphe. + */ public void edit(Widget _widget) { if (frame_ != null) frame_.toFront(); else { @@ -199,7 +240,8 @@ frame_ = getEbliScene().getEditor().createFrame(panelGraphe_, getTitle()); frame_.setPreferredSize(new Dimension(800, 600)); - frame_.setLocation(p); + // frame_.setLocation(p); + frame_.setLocationRelativeTo(this.getScene().getView()); frame_.pack(); frame_.addWindowListener(new WindowAdapter() { @@ -209,11 +251,16 @@ frame_ = null; } - public void windowClosing(WindowEvent _e) { -// zoom_ = calquePanel_.getVueCalque().getViewBoite(); + public void windowClosing(WindowEvent _e) { + // zoom_ = calquePanel_.getVueCalque().getViewBoite(); image = null; getEbliScene().refresh(); - } + frame_ = null; + + // YODA:RAJOUTER LE GRAPHE DANS EDITOR TU DOIS CAR DANS FRAME IL + // EST + conteneurEditor.add(panelGraphe_, BorderLayout.CENTER); + } }); // calquePanel_.getVueCalque().changeRepere(this, gr); @@ -223,6 +270,54 @@ } + + public EnumSet<org.netbeans.api.visual.action.InplaceEditorProvider.ExpansionDirection> getExpansionDirections( + org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget, BuPanel editor) { + return null; + } + + public Rectangle getInitialEditorComponentBounds( + org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, Widget widget, BuPanel editor, + Rectangle viewBounds) { + return null; + } + + + + public void notifyOpened(org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, + Widget widget, BuPanel editor) { + } + + public void axeAspectChanged(EGAxe _c) { + // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre + this.image = null; + this.repaint(); + } + + public void axeContentChanged(EGAxe _c) { + // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre + this.image = null; + this.repaint(); + } + + public void courbeAspectChanged(EGObject _c, boolean _visibil) { + // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre + this.image = null; + this.repaint(); + } + + public void courbeContentChanged(EGObject _c, boolean restore) { + // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre + this.image = null; + this.repaint(); + } + + public void structureChanged() { + // il faut indiquer que l image a ete modifiee donc la forcer a se repaindre + this.image = null; + this.repaint(); + } + // public EnumSet<org.netbeans.api.visual.action.InplaceEditorProvider. // ExpansionDirection> getExpansionDirections( // org.netbeans.api.visual.action.InplaceEditorProvider.EditorController Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetJXTreeTableModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetJXTreeTableModel.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetJXTreeTableModel.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -5,14 +5,12 @@ import java.util.List; import javax.swing.Icon; -import javax.swing.tree.TreePath; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.visuallibrary.EbliNode; import org.fudaa.ebli.visuallibrary.EbliNodeListener; import org.fudaa.ebli.visuallibrary.EbliScene; -import org.jdesktop.swingx.treetable.DefaultMutableTreeTableNode; import org.jdesktop.swingx.treetable.DefaultTreeTableModel; import org.jdesktop.swingx.treetable.MutableTreeTableNode; import org.jdesktop.swingx.treetable.TreeTableNode; @@ -128,6 +126,8 @@ return CtuluLibString.EMPTY_STRING; } + + // /** // * Raffraichissement maison du jxtreetable // */ Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaCommonImplementation.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -788,7 +788,7 @@ } if (_evt.getInternalFrame() instanceof CtuluFilleWithComponent) { final CtuluFilleWithComponent c = (CtuluFilleWithComponent) _evt.getInternalFrame(); - oldRightComponent_ = c.createComponent(); + oldRightComponent_ = c.createPanelComponent(); addRightComponent(c); } else { removeRightComponent(); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/report/FudaaReportFille.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/report/FudaaReportFille.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/report/FudaaReportFille.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -73,7 +73,7 @@ } - public JComponent createComponent() { + public JComponent createPanelComponent() { return FudaaDjaBuilder.createDjaTable(getFudaaGrid()); } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -4,6 +4,7 @@ import java.awt.Dimension; import java.awt.Point; import java.util.Iterator; +import java.util.List; import java.util.Set; import javax.swing.JButton; @@ -12,21 +13,39 @@ import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; +import javax.swing.JTree; import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluUndoRedoInterface; import org.fudaa.ctulu.gui.CtuluFilleWithComponent; +import org.fudaa.ebli.calque.BArbreCalque; import org.fudaa.ebli.calque.ZEbliCalquesPanel; +import org.fudaa.ebli.commun.EbliActionInterface; +import org.fudaa.ebli.commun.EbliComponentFactory; +import org.fudaa.ebli.commun.EbliLib; +import org.fudaa.ebli.courbe.EGFillePanel; +import org.fudaa.ebli.courbe.EGGraphe; +import org.fudaa.ebli.courbe.EGGrapheTreeModel; import org.fudaa.ebli.visuallibrary.EbliNode; import org.fudaa.ebli.visuallibrary.EbliScene; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionConfigure; +import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorVueCalque; +import org.fudaa.ebli.visuallibrary.graphe.EbliWidgetCreatorGraphe; import org.fudaa.fudaa.tr.common.TrLib; import org.fudaa.fudaa.tr.common.TrResource; import org.jdesktop.swingx.JXCollapsiblePane; +import org.netbeans.api.visual.model.ObjectSceneEvent; +import org.netbeans.api.visual.model.ObjectSceneEventType; +import org.netbeans.api.visual.model.ObjectSceneListener; +import org.netbeans.api.visual.model.ObjectState; import com.memoire.bu.BuCutCopyPasteInterface; import com.memoire.bu.BuInternalFrame; +import com.memoire.bu.BuMenuBar; +import com.memoire.bu.BuToolBar; import com.memoire.bu.BuUndoRedoInterface; + /** * InternalFrame qui contient la scene EbliScene. * @@ -34,7 +53,7 @@ * */ public class TrPostLayoutFille extends BuInternalFrame implements CtuluFilleWithComponent, CtuluUndoRedoInterface, - BuUndoRedoInterface, BuCutCopyPasteInterface { + BuUndoRedoInterface, BuCutCopyPasteInterface, ObjectSceneListener { /** * @@ -54,14 +73,51 @@ JComponent[] tools_; /** + * Toolbar modifiable qui se met a jour selon la selection de la widget. + */ + BuToolBar toolBarModifiable_ = new BuToolBar(); + + BuMenuBar menuModifiable_ = new BuMenuBar(); + + /** + * Scroll qui contient le tree a droite. Ce panel est modifi\xE9 des que l on + * change de type d elements. + */ + JScrollPane panelTreeModifiable_; + + /** + * Panel qui contient le tree modifiable + */ + JPanel conteneurTree_; + + /** + * bouton qui permet de masquer/afficher le tree + */ + JButton toggleTree_; + + /** * Constructeur de la fenetre. */ - public TrPostLayoutFille() { + public TrPostLayoutFille(TrPostProjet _projet) { super(); setTitle(TrResource.getS("vue 2D")); // creation de la scene EBLI - controller_ = new TrPostLayoutPanelController(new TrPostScene()); + controller_ = new TrPostLayoutPanelController(new TrPostScene(), _projet); setContentPane(controller_.getPanel()); + + // -- enregistrement de this comem listener de la scene pour le type d objet + // selection changed--// + controller_.getScene().addObjectSceneListener(this, ObjectSceneEventType.OBJECT_SELECTION_CHANGED); + + + + // -- ajout de la toolbar et du menu en haut --// + toolBarModifiable_.setFloatable(false); + this.add(toolBarModifiable_, BorderLayout.NORTH); + this.setJMenuBar(menuModifiable_); + + // -- init du panel de choix des trees --// + panelTreeModifiable_ = new JScrollPane(controller_.createTree()); } @@ -94,7 +150,10 @@ } } - public JComponent createComponent() { + /** + * Methode qui permet de modifier le panel sur la droite. + */ + public JComponent createPanelComponent() { if (right == null) { right = new JPanel(new BorderLayout()); @@ -106,8 +165,30 @@ over.add(pane, BorderLayout.CENTER); pane.add(getScene().createSatelliteView()); right.add(over, BorderLayout.NORTH); - right.add(new JScrollPane(controller_.createTree()), BorderLayout.CENTER); + + + pane = new JXCollapsiblePane(); + toggleTree_ = new JButton(pane.getActionMap().get(JXCollapsiblePane.TOGGLE_ACTION)); + toggleTree_.setText("Composants"); + + panelTreeModifiable_ = new JScrollPane(controller_.createTree()); + // right.add(panelTreeModifiable_, BorderLayout.CENTER); + conteneurTree_ = new JPanel(new BorderLayout()); + conteneurTree_.add(toggleTree_, BorderLayout.NORTH); + conteneurTree_.add(pane, BorderLayout.CENTER); + pane.add(panelTreeModifiable_); + right.add(conteneurTree_, BorderLayout.CENTER); + + // --verification qu il n existe pas de composant sur la scene auquel cas, + // selection automatique pour modification --// + + if(controller_!=null){ + Set<EbliNode> noeudContenus = (Set<EbliNode>) controller_.getScene().getObjects(); + if(noeudContenus.size()==1) + getScene().setSelectedObjects(noeudContenus); + getScene().refresh(); } + } return right; } @@ -192,7 +273,9 @@ //--recuperation des noeuds a copier --// nodesCopyied = (Set<EbliNode>) getScene().getSelectedObjects(); - + + // -- reinit de la commande cut si on voulait faire un ctrl+x + nodesCutted = null; } public void cut() { @@ -213,6 +296,9 @@ } + // reinit de la liste des noeuds a copier au cas ou on change d avis + nodesCopyied = null; + } public void duplicate() { @@ -234,6 +320,9 @@ // --duplication du node --// node.duplicate(null); } + // reinititalisation de la liste + nodesCopyied = null; + }else if (nodesCutted != null) { @@ -242,8 +331,310 @@ // --ajout du node --// getScene().addNode(node); } + // reinit de la liste + nodesCutted = null; + } + } + + // ---methode du listener d ecoute de la scene + + /** + * Called to notify that an object was added to an object scene. This is + * called when an object-widget mapping is registered in an ObjectScene only. + * At the moment of the call, the object is still not reqistered in the + * Graph*Scene classes yet. Therefore do not use the methods of Graph*Scene. + * + * @param event + * @param addedObject + */ + public void objectAdded(ObjectSceneEvent event, Object addedObject) { + } + + /** + * Called to notify that an object was removed from an object scene. This is + * called when an object-widget mapping is unregistered in an ObjectScene and + * Graph*Scene classes. At the moment of the call, a widget (visual + * representation of the object) is still in the scene. Therefore do not rely + * on a tree of widgets of the scene. + * + * @param event + * the object scene event + * @param removedObject + * the removed object + */ + public void objectRemoved(ObjectSceneEvent event, Object removedObject) { + } + + /** + * Called to notify that the object state of an object is changed. This method + * is always called before any other ObjectSceneListener method is called. + * + * @param event + * the object scene event + * @param changedObject + * the object with changed object state + * @param previousState + * the previous object state + * @param newState + * the new object state + */ + public void objectStateChanged(ObjectSceneEvent event, Object changedObject, ObjectState previousState, + ObjectState newState) { + } + + /** + * Called to notify that the object-selection is changed. + * + * @param event + * the object scene event + * @param previousSelection + * the set of previously selected objects + * @param newSelection + * the set of newly selected objects + */ + public void selectionChanged(ObjectSceneEvent event, Set<Object> previousSelection, Set<Object> newSelection) { + + + // cas ou de multiples objets sont selectionnes, on ne fait rien pour le + // moment + // A voir pour une fonctionnalit\xE9 magique + if (newSelection != null && newSelection.size() > 1) + return; + else if (newSelection == null || newSelection.size() == 0) { + // -- cas particulier: on met le tree des calques et pas de toolbar --// + changeTreeScene(); + changeToolbarScene(); + return; + } + EbliNode node = (EbliNode) newSelection.iterator().next(); + + // 3 cas pour le moment: graphe ou calque ou rien + if(!node.hasWidget()) + return; + if (node.getCreator() instanceof EbliWidgetCreatorVueCalque) { + + // -- etape 1: ajout du tree de calque dans fudaaImplementation --// + changeTreeCalque(((EbliWidgetCreatorVueCalque) node.getCreator()).getCalque()); + + // -- etape 2: rechargement de la toolbar specifique dans this --// + changeToolbarCalque(((EbliWidgetCreatorVueCalque) node.getCreator()).getCalque()); + + + } else if (node.getCreator() instanceof EbliWidgetCreatorGraphe) { + + + // -- etape 1: ajout du tree de graphe dans fudaaImplementation --// + changeTreeGraphe(((EbliWidgetCreatorGraphe) node.getCreator()).getGraphe()); + // -- etape 2: rechargement de la toolbar specifique dans this --// + changeToolbarGraphe(((EbliWidgetCreatorGraphe) node.getCreator()).getGraphePanel()); + } else { + + // -- etape 1: on fout eventuellement le tree des layouts --// + changeTreeScene(); + // -- etape 2: rechargement de la toolbar specifique dans this --// + changeToolbarScene(); + } + } + + /** + * Called to notify that the object-highlighting is changed. + * + * @param event + * the object scene event + * @param previousHighlighting + * the set of previously highlighted objects + * @param newHighlighting + * the set of newly highlighted objects + */ + public void highlightingChanged(ObjectSceneEvent event, Set<Object> previousHighlighting, Set<Object> newHighlighting) { } + /** + * Called to notify that the object-hovering is changed. + * + * @param event + * the object scene event + * @param previousHoveredObject + * the previous hovered object; null if there was no hovered object + * @param newHoveredObject + * the new hovered object; null if there is no hovered object + */ + public void hoverChanged(ObjectSceneEvent event, Object previousHoveredObject, Object newHoveredObject) { + } + + /** + * Called to notify that the object-focus is changed. + * + * @param event + * the object scene event + * @param previousFocusedObject + * the previously focused object; null if there was no focused object + * @param newFocusedObject + * the newly focused object; null if there is no focused object + */ + public void focusChanged(ObjectSceneEvent event, Object previousFocusedObject, Object newFocusedObject) { + } + + { + } + + /** + * Methode qui met a jour le tree de droite avec le tree du calque + * selectionne. + * + * @param calque + */ + private void changeTreeCalque(ZEbliCalquesPanel _calque) { + + + conteneurTree_.remove(panelTreeModifiable_); + + // JComponent component = EbliWidgetEditCreator.createView(new + // BArbreCalque(_calque.getArbreCalqueModel()), + // EbliResource.EBLI.getToolIcon("arbre"), "Calques", false); + panelTreeModifiable_ = new JScrollPane(new BArbreCalque(_calque.getArbreCalqueModel())); + // panelTreeModifiable_ = new JScrollPane(component); + + this.toggleTree_.setText("Calques"); + + conteneurTree_.add(panelTreeModifiable_, BorderLayout.CENTER); + // mise a jour du panel + conteneurTree_.validate(); + panelTreeModifiable_.revalidate(); + } + + /** + * Methode qui met a jour le tree de droite avec le tree du graphe + * selectionne. + * + * @param _graphe + */ + private void changeTreeGraphe(EGGraphe _graphe) { + + + conteneurTree_.remove(panelTreeModifiable_); + // JComponent component = EbliWidgetEditCreator.createView(new + // JTree((EGGrapheTreeModel) _graphe.getModel()), + // EbliResource.EBLI.getToolIcon("arbre"), "Courbes", false); + + //POUR TOI LA FORCE AVOIR LE SELECTION MODEL A TOI ATTACHER TU DOIS// + JTree yoda = new JTree((EGGrapheTreeModel) _graphe.getModel()); + yoda.setSelectionModel(((EGGrapheTreeModel) _graphe.getModel()).getSelectionModel()); + panelTreeModifiable_ = new JScrollPane(yoda); + if (this.toggleTree_ != null) + this.toggleTree_.setText("Courbes"); + // panelTreeModifiable_ = new JScrollPane(component); + conteneurTree_.add(panelTreeModifiable_, BorderLayout.CENTER); + // mise a jour du panel + conteneurTree_.validate(); + panelTreeModifiable_.revalidate(); + + } + + /** + * Met a jour le tree a droite si ni un graphe ni un calque n est selectionn\xE9. + */ + private void changeTreeScene() { + conteneurTree_.remove(panelTreeModifiable_); + // JComponent component = + // EbliWidgetEditCreator.createView(controller_.createTree(), + // EbliResource.EBLI + // .getToolIcon("arbre"), "Composants", false); + + panelTreeModifiable_ = new JScrollPane(controller_.createTree()); + if (this.toggleTree_ != null) + this.toggleTree_.setText("Liste des composants"); + // panelTreeModifiable_ = new JScrollPane(component); + conteneurTree_.add(panelTreeModifiable_, BorderLayout.CENTER); + // mise a jour du panel + conteneurTree_.validate(); + panelTreeModifiable_.revalidate(); + } + + + /** + * Methode qui modifie la toolbar associee au calque selectionne + * + * @param _calque + */ + private void changeToolbarCalque(ZEbliCalquesPanel _calque) { + + // nettoyage de la toolbar + toolBarModifiable_.removeAll(); + menuModifiable_.removeAll(); + + // ajout des tool specifiques du calque + List actions = _calque.getController().getActions(); + for (Iterator iterator = actions.iterator(); iterator.hasNext();) { + EbliActionInterface object = (EbliActionInterface) iterator.next(); + if (object == null) { + toolBarModifiable_.addSeparator(); + } else { + toolBarModifiable_.add(object.buildToolButton(EbliComponentFactory.INSTANCE)); + } + } + + // ajout des menus specifiques pour le calque + JMenu[] specificMenus = _calque.getSpecificMenus(EbliLib.getS("Vue 2D")); + + for (int i = 0; i < specificMenus.length; i++) { + menuModifiable_.add(specificMenus[i]); + } + + // mise a jour des params + toolBarModifiable_.revalidate(); + menuModifiable_.revalidate(); + this.setJMenuBar(menuModifiable_); + this.revalidate(); + + } + + private void changeToolbarGraphe(EGFillePanel _graphe) { + + // nettoyage de la toolbar + toolBarModifiable_.removeAll(); + menuModifiable_.removeAll(); + + + // ajout des toolbar specifiques du calque + EbliActionInterface[] specificInterfaces = _graphe.getSpecificActions(); + for (int i = 0; i < specificInterfaces.length; i++) { + EbliActionInterface object = specificInterfaces[i]; + if (object == null) { + toolBarModifiable_.addSeparator(); + } else { + toolBarModifiable_.add(object.buildToolButton(EbliComponentFactory.INSTANCE)); + } + } + + // ajout des menus specifiques + JMenu menu = new JMenu("Menu graphe"); + _graphe.fillSpecificMenu(menu); + menuModifiable_.add(menu); + + // mise a jour des params + toolBarModifiable_.revalidate(); + menuModifiable_.revalidate(); + this.setJMenuBar(menuModifiable_); + this.revalidate(); + } + + private void changeToolbarScene() { + // nettoyage de la toolbar + toolBarModifiable_.removeAll(); + menuModifiable_.removeAll(); + + toolBarModifiable_.add(new EbliWidgetActionConfigure(controller_.getScene())); + JMenu menu = new JMenu("Configurer"); + menu.add(new EbliWidgetActionConfigure(controller_.getScene())); + menuModifiable_.add(menu); + // mise a jour des params + toolBarModifiable_.revalidate(); + menuModifiable_.revalidate(); + this.setJMenuBar(menuModifiable_); + this.revalidate(); + } + } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-19 16:30:04 UTC (rev 3828) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-20 15:07:17 UTC (rev 3829) @@ -54,6 +54,7 @@ import com.memoire.bu.BuDesktop; import com.memoire.bu.BuMenu; import com.memoire.bu.BuPanel; +import com.memoire.bu.BuResource; import com.memoire.bu.BuSeparator; public class TrPostLayoutPanelController { @@ -64,14 +65,23 @@ List<EbliActionAbstract> actions; /** + * Tree qui contient la hierarchie des widget de la scene. + */ + JXTreeTable treeScene = null; + + + TrPostProjet projet_; + + /** * Calque principal associ\xE9 a la vue layout. */ private ZEbliCalquesPanel calquePrincipal; - TrPostLayoutPanelController(EbliScene _scene) { + TrPostLayoutPanelController(EbliScene _scene, TrPostProjet _projet) { treeModel_ = new EbliWidgetJXTreeTableModel(_scene); _scene.addEbliNodeListener(treeModel_); _scene.setCmdMng(new CtuluCommandManager()); + projet_ = _projet; } /** @@ -110,7 +120,6 @@ // ajout du node au layout addNode(nodeCalque); - @@ -270,6 +279,9 @@ } }); + + + // widget image _l.add(new EbliWidgetActionImageChooser(getScene())); @@ -325,39 +337,49 @@ return (JComponent[]) res.toArray(new JComponent[res.size()]); } + /** + * Methode qui cree le tree ou le renvoie si ce dernier est cree. + * + * @return tree des widgets. + */ public JXTreeTable createTree() { - JXTreeTable tree = new JXTreeTable(treeModel_); + + if (treeScene != null) + return treeScene; + + + treeScene = new JXTreeTable(treeModel_); // -- ajout du tree au model pour les dimensionnements --// // modeltable.setTree_(tree_); // --vision du noeud root --// - tree.setRootVisible(false); + treeScene.setRootVisible(false); // --ajout du renderer pour les images-// - tree.setTreeCellRenderer(new EbliJXTreeTableCellRenderer()); + treeScene.setTreeCellRendere... [truncated message content] |
From: <had...@us...> - 2008-08-19 16:29:59
|
Revision: 3828 http://fudaa.svn.sourceforge.net/fudaa/?rev=3828&view=rev Author: hadouxad Date: 2008-08-19 16:30:04 +0000 (Tue, 19 Aug 2008) Log Message: ----------- - Duplication des Calques - Creation de la legende pour les calques via clic droit + "afficher legende" - Mise en place d usysteme de copier coller (trPostLayoutFille implements BuCutCopyPasteInterface) Bug que je n'arrive pas ?\195?\160 r?\195?\169soudre - duplication calques: les parametres variables ne sont pas enregistr?\195?\169s - duplication calques: les noeuds "resultats" et "vecteurs" sont dupliques et je n arrive pas a les supprimer - legende calque: error bizarre WIN32OSSD .... - Cut/copy/paste action pas prises en compte par trPostLayoutFille , peut etre du a EbliScene.... Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/BGroupeCalque.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeDefault.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetEditCreator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/layer/MvVisuPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCalqueLegende.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorCalqueLegende.java branches/Prepro-0.92-SNAPSHOT/fudaa/bin/ Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/BGroupeCalque.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/BGroupeCalque.java 2008-08-19 03:47:18 UTC (rev 3827) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/BGroupeCalque.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -16,16 +16,15 @@ import java.util.Arrays; import java.util.List; -import com.memoire.fu.FuLog; - import org.fudaa.ctulu.CtuluLibString; - import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.controle.BConfigurableInterface; import org.fudaa.ebli.geometrie.GrBoite; import org.fudaa.ebli.geometrie.GrMorphisme; import org.fudaa.ebli.palette.BPaletteInfo.InfoData; +import com.memoire.fu.FuLog; + /** * Un groupe de calques. Cette classe joue un role structurant. C'est un noeud dans la hierarchie arborescente des * calques. @@ -266,4 +265,7 @@ } return r; } + + + } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-08-19 03:47:18 UTC (rev 3827) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -23,26 +23,28 @@ import java.awt.print.Printable; import java.util.Map; -import javax.swing.*; +import javax.swing.Action; +import javax.swing.BorderFactory; +import javax.swing.ComboBoxModel; +import javax.swing.JComponent; +import javax.swing.JInternalFrame; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.JMenu; +import javax.swing.JPopupMenu; +import javax.swing.JTabbedPane; +import javax.swing.ListCellRenderer; +import javax.swing.SwingUtilities; import javax.swing.event.TreeModelEvent; import javax.swing.event.TreeModelListener; import javax.swing.tree.TreeModel; -import com.memoire.bu.BuBorderLayout; -import com.memoire.bu.BuDynamicMenu; -import com.memoire.bu.BuLabel; -import com.memoire.bu.BuLib; -import com.memoire.bu.BuMenu; -import com.memoire.bu.BuPanel; -import com.memoire.bu.BuPopupMenu; - import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluUI; import org.fudaa.ctulu.gui.CtuluTreeComboboxModel; import org.fudaa.ctulu.gui.CtuluTreeComboboxRenderer; import org.fudaa.ctulu.image.CtuluImageProducer; import org.fudaa.ctulu.image.CtuluLibImage; - import org.fudaa.ebli.animation.EbliAnimationSourceAbstract; import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.ebli.commun.EbliComponentFactory; @@ -55,6 +57,14 @@ import org.fudaa.ebli.impression.EbliPrinter; import org.fudaa.ebli.ressource.EbliResource; +import com.memoire.bu.BuBorderLayout; +import com.memoire.bu.BuDynamicMenu; +import com.memoire.bu.BuLabel; +import com.memoire.bu.BuLib; +import com.memoire.bu.BuMenu; +import com.memoire.bu.BuPanel; +import com.memoire.bu.BuPopupMenu; + /** * Fenetre d'affichage de calques contenant des services de base. (position souris, zoom fenetre, selection, * transformations spatiales). Il est possible d'ajouter des boutons grace aux methodes <code>addButtonGroup</code>. @@ -234,6 +244,11 @@ private BGroupeCalque gcDonnees_; + public void setGcDonnees_(BGroupeCalque gcDonnees_) { + + this.gcDonnees_ = gcDonnees_; + } + protected BuMenu contextTools_; protected BuLabel mode_; @@ -819,17 +834,34 @@ * @return le calque legende */ public final BCalqueLegende getCqLegend() { + if (getCqInfos() == null) + addCqInfos(); return (BCalqueLegende) getCqInfos().getCalqueParNom("cqLegende"); } protected void removeCalqueLegend() { - getCqInfos().remove(getCqLegend()); + getCqInfos().remove(getCqLegend()); + // getCqLegend().setVisible(false); } + + public void addCalqueLegend() { + getCqInfos().add(getCqLegend()); + getCqLegend().setVisible(true); + } public void setInfoPaletteActive() { - getController().setInfoPaletteActive(); + getController().setInfoPaletteActive(); + } + + + /** + * Methdoe a surhcarger puor le cas des widgets. + */ + public void addWidgetLegendeCalque() { + } + protected JMenu getMenuSelectionPath() { final BuMenu selection = new BuMenu(EbliLib.getS("S\xE9lection"), "SELECTION"); getController().addSelectionActionTo(selection); @@ -840,4 +872,23 @@ return selection; } + + public ZEbliCalquesPanel duplicate() { + /* + * ZEbliCalquesPanel duplic = new ZEbliCalquesPanel(new CtuluUIDefault()); + * + * // --pas besoin de duplication des groupes de calques --// + * duplic.gcDonnees_ = new BGroupeCalque(); + * + * // -- mais le contenu si --// BCalque[] contenuAdupliquer = + * this.getDonneesCalque().getCalques(); + * + * // -- ajout des calques dupliques un a un --// for (int i = 0; i < + * contenuAdupliquer.length; i++) { + * duplic.addCalque(contenuAdupliquer[i].duplicate()); } + */ + return null; + } + + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeDefault.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeDefault.java 2008-08-19 03:47:18 UTC (rev 3827) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeDefault.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -40,7 +40,12 @@ duplique .setCreator(new EbliWidgetCreatorGraphe(((EbliWidgetCreatorGraphe) getCreator()).getGraphe().duplicate())); } else if (creator instanceof EbliWidgetCreatorVueCalque) { - duplique.setCreator(new EbliWidgetCreatorVueCalque(((EbliWidgetCreatorVueCalque) getCreator()).getCalque())); + + + duplique.setCreator(new EbliWidgetCreatorVueCalque(((EbliWidgetCreatorVueCalque) getCreator()).getCalque() + .duplicate())); + + } else if (creator instanceof EbliWidgetCreatorShape) { duplique.setCreator(new EbliWidgetCreatorShape(((EbliWidgetCreatorShape) getCreator()).getTypeObject_())); } else if (creator instanceof EbliWidgetCreatorImage) { Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java 2008-08-19 03:47:18 UTC (rev 3827) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -262,5 +262,12 @@ public void setVisu_(LayerWidget visu_) { this.visu_ = visu_; } + + + + + + + } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetEditCreator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetEditCreator.java 2008-08-19 03:47:18 UTC (rev 3827) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetEditCreator.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -86,6 +86,11 @@ } }); + + // -- cas particulier, on ajoute la legende --// + pn.addCalqueLegend(); + pn.repaint(); + return frame; } Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCalqueLegende.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCalqueLegende.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCalqueLegende.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -0,0 +1,45 @@ +package org.fudaa.ebli.visuallibrary.calque; + +import java.awt.Rectangle; + +import org.fudaa.ebli.calque.BCalqueLegendePanel; +import org.fudaa.ebli.visuallibrary.EbliScene; +import org.fudaa.ebli.visuallibrary.EbliWidget; +import org.netbeans.api.visual.layout.LayoutFactory.SerialAlignment; +import org.netbeans.api.visual.widget.ComponentWidget; +import org.netbeans.modules.visual.layout.FlowLayout; + +/** + * Classe de la l\xE9gende associ\xE9e au graphe. + * + * @author Adrien Hadoux + * + */ +public class EbliWidgetCalqueLegende extends EbliWidget { + + BCalqueLegendePanel calqueLegende_; + ComponentWidget intern_; + + public EbliWidgetCalqueLegende(EbliScene scene, BCalqueLegendePanel _calqueLegende) { + super(scene); + calqueLegende_ = _calqueLegende; + + setLayout(new FlowLayout(false, SerialAlignment.CENTER, 5)); + + + intern_ = new ComponentWidget(scene, _calqueLegende); + + + // intern_.setPreferredSize(preferredSize) + addChild(intern_); + + this.setPreferredBounds(new Rectangle(200, 200)); + + intern_.setPreferredBounds(new Rectangle(150, 150)); + + } + + + + +} Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorCalqueLegende.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorCalqueLegende.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorCalqueLegende.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -0,0 +1,42 @@ +package org.fudaa.ebli.visuallibrary.calque; + +import java.awt.Dimension; + +import org.fudaa.ebli.calque.BCalqueLegendePanel; +import org.fudaa.ebli.visuallibrary.EbliScene; +import org.fudaa.ebli.visuallibrary.EbliWidget; +import org.fudaa.ebli.visuallibrary.EbliWidgetCreator; + +public class EbliWidgetCreatorCalqueLegende implements EbliWidgetCreator { + + BCalqueLegendePanel calque; + EbliWidgetCalqueLegende res; + + + public BCalqueLegendePanel getCalque() { + return calque; + } + + public void setCalque(BCalqueLegendePanel calque) { + this.calque = calque; + } + + + + public EbliWidgetCreatorCalqueLegende(BCalqueLegendePanel legende) { + super(); + this.calque = legende; + } + + public EbliWidget create(EbliScene _scene) { + res = new EbliWidgetCalqueLegende(_scene, calque); + res.setPreferredSize(new Dimension(200, 200)); + return res; + } + + public EbliWidget getWidget() { + // TODO Auto-generated method stub + return res; + } + +} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-19 03:47:18 UTC (rev 3827) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -6,26 +6,30 @@ import java.awt.Point; import java.awt.Rectangle; import java.awt.Window; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.image.BufferedImage; import java.util.HashMap; import java.util.Map; -import java.util.Observable; -import java.util.Observer; import javax.swing.JComponent; -import javax.swing.JFrame; +import javax.swing.JMenuItem; +import javax.swing.JPopupMenu; import javax.swing.SwingUtilities; +import org.fudaa.ctulu.CtuluResource; import org.fudaa.ctulu.image.CtuluLibImage; import org.fudaa.ebli.calque.BCalque; import org.fudaa.ebli.calque.ZEbliCalquesPanel; import org.fudaa.ebli.geometrie.GrBoite; +import org.fudaa.ebli.visuallibrary.EbliNodeDefault; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.EbliWidget; import org.netbeans.api.visual.action.ActionFactory; import org.netbeans.api.visual.action.EditProvider; +import org.netbeans.api.visual.action.PopupMenuProvider; import org.netbeans.api.visual.action.WidgetAction; import org.netbeans.api.visual.widget.Widget; @@ -38,13 +42,15 @@ * @author deniger * */ -public class EbliWidgetVueCalque extends EbliWidget implements EditProvider, Observer { +public class EbliWidgetVueCalque extends EbliWidget implements EditProvider { ZEbliCalquesPanel calquePanel_; public Color couleurContour = Color.black; public Color couleurFond = Color.white; + private EbliNodeDefault nodeLegende = null; + Window frame_; BufferedImage image; @@ -149,14 +155,80 @@ g.drawImage(image, rec.x, rec.y, rec.width, rec.height, null); } - public void setColorFond(Color newColor) { - couleurFond = newColor; - repaint(); + + /** + * Surcharge de la creation du menu de base en ajoutant les menus specifiques + */ + public void setMenu() { + getActions().addAction(ActionFactory.createPopupMenuAction(new PopupMenuProvider() { + public JPopupMenu getPopupMenu(Widget widget, Point localLocation) { + JPopupMenu popup = new JPopupMenu(); + + // -- creation du menu commun a tous les widgets + constructPopupMenuBase(popup); + + // -- Menu sp\xF6cifiques a l'application--// + constructPopupMenuSpecifique(popup); + return popup; + } + })); } + private void constructPopupMenuSpecifique(JPopupMenu _popup) { + JMenuItem menuItem = _popup.add("Ajouter la l\xE9gende"); + menuItem.setIcon(CtuluResource.CTULU.getIcon("crystal22_commentaire")); + menuItem.addActionListener(new ActionListener() { - public void update(Observable _o, Object _arg) { - image = null; - getEbliScene().refresh(); + public void actionPerformed(ActionEvent e) { + + // -- creation de la l\xE9gende --// + if (EbliWidgetVueCalque.this.getEbliScene() != null) { + + // position a cote de la widget graphe + Point nouvellePosition = new Point((int) (EbliWidgetVueCalque.this.getLocation().x), + (int) (EbliWidgetVueCalque.this.getLocation().y + EbliWidgetVueCalque.this.getBounds().height * 1.2)); + + + if (!EbliWidgetVueCalque.this.getEbliScene().isObject(nodeLegende)) { + + + nodeLegende = new EbliNodeDefault(); + // nodeLegende.setTitle("Legende calque"); + // + // if (calquePanel_.getCqLegend()==null) + //JOptionPane.showMessageDialog(null,"calquePqnel.getCqlegend null") + // ; + // nodeLegende.setCreator(new + // EbliWidgetCreatorCalqueLegende(calquePanel_.getCqLegend())); + // nodeLegende.setPreferedSize(new Dimension(200, 100)); + // nodeLegende.setPreferedLocation(new Point(350, 125)); + // // ajout du node au layout + // EbliWidgetVueCalque.this.getEbliScene().addNode(nodeLegende); + + // methode qui permet d ajouter une legemde + calquePanel_.addWidgetLegendeCalque(); + + + EbliWidgetVueCalque.this.getEbliScene().refresh(); + } + + // GrapheWidget.this.addChild(widgetLegende); + } + } + + }); + + } + + +// public void setColorFond(Color newColor) { + // couleurFond = newColor; + // repaint(); + // } + // + // public void update(Observable _o, Object _arg) { + // image = null; + // getEbliScene().refresh(); + // } } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java 2008-08-19 03:47:18 UTC (rev 3827) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -27,7 +27,6 @@ import org.fudaa.ebli.visuallibrary.EbliNodeDefault; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.EbliWidget; -import org.fudaa.ebli.visuallibrary.actions.EbliWidgetEditCreator; import org.netbeans.api.visual.action.ActionFactory; import org.netbeans.api.visual.action.EditProvider; import org.netbeans.api.visual.action.PopupMenuProvider; @@ -173,7 +172,7 @@ //widgetLegende=WidgetLegendeManager.createLegende(EbliWidgetGraphe. // this.getGraphe(), // EbliWidgetGraphe.this.getScene_(),nouvellePosition); - + EbliWidgetGraphe.this.getEbliScene().refresh(); } // GrapheWidget.this.addChild(widgetLegende); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-19 03:47:18 UTC (rev 3827) +++ branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -28,6 +28,7 @@ import org.fudaa.ctulu.CtuluUIDefault; import org.fudaa.ctulu.gui.CtuluLibSwing; import org.fudaa.ctulu.iterator.LogarithmicNumberIterator; +import org.fudaa.ebli.calque.BCalqueLegende; import org.fudaa.ebli.calque.BVueCalque; import org.fudaa.ebli.calque.ZCalqueLigneBrisee; import org.fudaa.ebli.calque.ZEbliCalquesPanel; @@ -272,14 +273,28 @@ nodeShape.setPreferedSize(new Dimension(100, 100)); nodeShape.setPreferedLocation(new Point(270, 225)); scene.addNode(nodeShape); - + scene.refresh(); + + nodeShape = new EbliNodeDefault(); nodeShape.setTitle("Shape Elipse"); nodeShape.setCreator(new EbliWidgetCreatorShape(new ShapeCreatorEllipse())); nodeShape.setPreferedSize(new Dimension(100, 100)); nodeShape.setPreferedLocation(new Point(290, 225)); scene.addNode(nodeShape); - + + scene.refresh(); + /* + * nodeLegende = new EbliNodeDefault(); + * nodeLegende.setTitle("Legende calque"); + * + * nodeLegende.setCreator(new EbliWidgetCreatorCalqueLegende(new + * BCalqueLegende().getLegendePanel(0))); nodeLegende.setPreferedSize(new + * Dimension(200, 100)); nodeLegende.setPreferedLocation(new Point(10, 10)); + * // ajout du node au scene.addNode(nodeLegende); + * + * scene.refresh(); + */ // node.getCreator().getWidget().setState(state) // if(node.getCreator().getWidget().) @@ -463,6 +478,9 @@ bar.add(actionFont.getSizeFonts()); + boxEast.add(new BCalqueLegende()); + + } } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/layer/MvVisuPanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/layer/MvVisuPanel.java 2008-08-19 03:47:18 UTC (rev 3827) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/layer/MvVisuPanel.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -18,24 +18,17 @@ import javax.swing.JMenu; import javax.swing.JMenuItem; -import com.memoire.bu.BuDynamicMenu; -import com.memoire.bu.BuMenu; -import com.memoire.bu.BuPopupMenu; - import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.gis.GISPolygone; import org.fudaa.ctulu.gui.CtuluDialog; import org.fudaa.ctulu.gui.CtuluDialogPanel; - import org.fudaa.dodico.ef.EfFrontierInterface; import org.fudaa.dodico.ef.EfGridInterface; import org.fudaa.dodico.ef.EfGridVolumeInterface; - import org.fudaa.ebli.calque.BGroupeCalque; import org.fudaa.ebli.calque.edition.ZCalqueEditionGroup; import org.fudaa.ebli.controle.BSelecteurReduitFonteNewVersion; - import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; import org.fudaa.fudaa.meshviewer.MvLayerGrid; import org.fudaa.fudaa.meshviewer.MvResource; @@ -54,6 +47,10 @@ import org.fudaa.fudaa.sig.layer.FSigVisuPanel; import org.fudaa.fudaa.sig.layer.FSigVisuPanelController; +import com.memoire.bu.BuDynamicMenu; +import com.memoire.bu.BuMenu; +import com.memoire.bu.BuPopupMenu; + /** * @author deniger * @version $Id: MvVisuPanel.java,v 1.5 2007-05-04 13:59:50 deniger Exp $ @@ -271,7 +268,7 @@ * * @param _g le maillage associe */ - public final void addCqInfos(final EfGridInterface _g) { + public void addCqInfos(final EfGridInterface _g) { if (getCqInfos() != null) { return; } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java 2008-08-19 03:47:18 UTC (rev 3827) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -3,10 +3,13 @@ import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Point; +import java.util.Iterator; +import java.util.Set; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JMenu; +import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; @@ -20,6 +23,7 @@ import org.fudaa.fudaa.tr.common.TrResource; import org.jdesktop.swingx.JXCollapsiblePane; +import com.memoire.bu.BuCutCopyPasteInterface; import com.memoire.bu.BuInternalFrame; import com.memoire.bu.BuUndoRedoInterface; @@ -30,7 +34,7 @@ * */ public class TrPostLayoutFille extends BuInternalFrame implements CtuluFilleWithComponent, CtuluUndoRedoInterface, - BuUndoRedoInterface { + BuUndoRedoInterface, BuCutCopyPasteInterface { /** * @@ -58,7 +62,9 @@ // creation de la scene EBLI controller_ = new TrPostLayoutPanelController(new TrPostScene()); setContentPane(controller_.getPanel()); + } + /** * @param _title * @param _preferredLocation @@ -151,7 +157,8 @@ return getCalquePrincipal(); } - public void majComponent(Object _o) {} + public void majComponent(Object _o) { + } public void redo() { final CtuluCommandManager c = getCmdMng(); @@ -160,7 +167,8 @@ } } - public void setActive(final boolean _b) {} + public void setActive(final boolean _b) { + } public void undo() { final CtuluCommandManager c = getCmdMng(); @@ -169,4 +177,73 @@ } } + + // liste des noeuds copies + Set<EbliNode> nodesCopyied = null; + // liste des noeuuds coupes + Set<EbliNode> nodesCutted = null; + public void copy() { + + JOptionPane.showMessageDialog(null, "copy()"); + // on copie la widget selectionnee + // ie on fait une duplication partielle + // on ajoute pas tout de suite le noeud dans la scene + + + //--recuperation des noeuds a copier --// + nodesCopyied = (Set<EbliNode>) getScene().getSelectedObjects(); + + } + + public void cut() { + JOptionPane.showMessageDialog(null, "cut()"); + + // --recuperation des noeuds a copier --// + nodesCutted = (Set<EbliNode>) getScene().getSelectedObjects(); + + + // enlever les nodes de la scene + for (Iterator<EbliNode> it = nodesCutted.iterator(); it.hasNext();) { + EbliNode node = it.next(); + + // le node existe toujours apres l'avoir enleve + getScene().removeNode(node); + + + + } + + } + + public void duplicate() { + JOptionPane.showMessageDialog(null, "duplicate()"); + } + + public void paste() { + + //TODO a ameliorer : TENIR COMPTE DE LA POSITION DE LA SOURIS + + JOptionPane.showMessageDialog(null, "paste()"); + + // --recuperation des noeuds copies --// + if (nodesCopyied != null) { + + + for (Iterator<EbliNode> it = nodesCopyied.iterator(); it.hasNext();) { + EbliNode node = it.next(); + // --duplication du node --// + node.duplicate(null); + } + }else if (nodesCutted != null) { + + + for (Iterator<EbliNode> it = nodesCutted.iterator(); it.hasNext();) { + EbliNode node = it.next(); + // --ajout du node --// + getScene().addNode(node); + } + + } + } + } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-19 03:47:18 UTC (rev 3827) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -15,6 +15,7 @@ import javax.swing.ListSelectionModel; import org.fudaa.ctulu.CtuluCommandManager; +import org.fudaa.ebli.calque.BCalqueLegende; import org.fudaa.ebli.calque.ZEbliCalquesPanel; import org.fudaa.ebli.commun.EbliActionAbstract; import org.fudaa.ebli.commun.EbliActionInterface; @@ -38,7 +39,7 @@ import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionImageChooser; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageHorizontal; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageVertical; -import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActiontextEditor; +import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorCalqueLegende; import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorVueCalque; import org.fudaa.ebli.visuallibrary.creator.ShapeCreatorCircle; import org.fudaa.ebli.visuallibrary.creator.ShapeCreatorEllipse; @@ -56,6 +57,7 @@ import com.memoire.bu.BuSeparator; public class TrPostLayoutPanelController { + JPanel pn_; EbliWidgetJXTreeTableModel treeModel_; @@ -102,9 +104,16 @@ nodeCalque.setPreferedLocation(preferredLocation);// new Point(250, 170) nodeCalque.setCreator(new EbliWidgetCreatorVueCalque(calque)); + + + + // ajout du node au layout addNode(nodeCalque); + + + return nodeCalque; } @@ -202,7 +211,27 @@ return nodeRect; } + + /** + * Methode d ajout d'un calque legende. + * @return + */ + public EbliNode addCalqueLegende(BCalqueLegende legende) { + // -- ajout du rectangle --// + final EbliNodeDefault nodeLegende = new EbliNodeDefault(); + nodeLegende.setTitle("Legende calque"); + nodeLegende.setCreator(new EbliWidgetCreatorCalqueLegende(legende.getLegendePanel(0))); + nodeLegende.setPreferedSize(new Dimension(200, 100)); + nodeLegende.setPreferedLocation(new Point(350, 125)); + // ajout du node au layout + addNode(nodeLegende); + getScene().refresh(); + + return nodeLegende; + } + + protected void addShapeActions(List<EbliActionAbstract> _l) { // -- palette rectangle texte--// _l.add(new EbliActionSimple(EbliResource.EBLI.getString("Rectangle texte"), EbliResource.EBLI Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2008-08-19 03:47:18 UTC (rev 3827) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -10,7 +10,6 @@ import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Point; -import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyVetoException; @@ -80,7 +79,6 @@ import org.fudaa.fudaa.meshviewer.layer.MvGridLayerGroup; import org.fudaa.fudaa.meshviewer.profile.MvProfileFillePanel; import org.fudaa.fudaa.meshviewer.profile.MvProfileTarget; -import org.fudaa.fudaa.meshviewer.profile.MvProfileTreeModel; import org.fudaa.fudaa.ressource.FudaaResource; import org.fudaa.fudaa.sig.FSigLib; import org.fudaa.fudaa.tr.common.TrFileFormatManager; @@ -297,6 +295,10 @@ public TrPostProjet(final TrPostSource _src, final TrPostCommonImplementation _impl) { this(_src); impl_ = _impl; + + + + } private void showError(final CtuluUI _ui, final File _dbFile, final String _err) { Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java 2008-08-19 03:47:18 UTC (rev 3827) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java 2008-08-19 16:30:04 UTC (rev 3828) @@ -21,13 +21,14 @@ import org.fudaa.ctulu.CtuluResource; import org.fudaa.ctulu.CtuluUI; import org.fudaa.ctulu.gui.CtuluLibDialog; - +import org.fudaa.ctulu.gui.CtuluTaskOperationGUI; import org.fudaa.dodico.h2d.type.H2dVariableType; - import org.fudaa.ebli.animation.ActionAnimationTreeSelection; import org.fudaa.ebli.animation.EbliAnimatedInterface; import org.fudaa.ebli.animation.EbliAnimationSourceInterface; import org.fudaa.ebli.calque.BCalque; +import org.fudaa.ebli.calque.BCalqueLegende; +import org.fudaa.ebli.calque.BCalqueSaverInterface; import org.fudaa.ebli.calque.BGroupeCalque; import org.fudaa.ebli.calque.ZCalqueAffichageDonnees; import org.fudaa.ebli.calque.ZCalqueSondeInteraction; @@ -40,14 +41,12 @@ import org.fudaa.ebli.commun.EbliActionPaletteAbstract; import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.ebli.commun.EbliLib; - import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; import org.fudaa.fudaa.meshviewer.MvSelectionNodeOrEltData; import org.fudaa.fudaa.meshviewer.export.MvExportFactory; import org.fudaa.fudaa.meshviewer.layer.MvFrontierLayerAbstract; import org.fudaa.fudaa.meshviewer.layer.MvGridLayerGroup; import org.fudaa.fudaa.meshviewer.profile.MvProfileAction; -import org.fudaa.fudaa.sig.layer.FSigVisuPanelController; import org.fudaa.fudaa.tr.common.Tr3DFactory; import org.fudaa.fudaa.tr.common.Tr3DInitialiser; import org.fudaa.fudaa.tr.common.TrLib; @@ -148,9 +147,67 @@ gc.putClientProperty(Action.SHORT_DESCRIPTION, TrResource.getS("Affichage des images de fond")); getArbreCalqueModel().setSelectionCalque(isoLayer_); //TODO Fred a enlever - removeCalqueLegend(); + // removeCalqueLegend(); + } + /** + * Methode qui ajoute une widget de legende de calque. + */ + public void addWidgetLegendeCalque() { + // JOptionPane.showMessageDialog(null, + // "addWidgetLegendeCalque de Trpostvisupanel"); + // recupetration de la widget legende + BCalqueLegende legend = getCqLegend(); + // -- ajout de la legende du calque dans la scene --// + this.getProjet().filleLayout_.controller_.addCalqueLegende(legend); + + // rafraichissement de la scene + this.getProjet().filleLayout_.controller_.getScene().refresh(); + + + } + + // BCalqueLegende malegende = new BCalqueLegende(); + // /** + // * Surcharge de la methode du ZebliCalquePanel Ajoute les calques + // * d'informations. + // * + // * Ajoute au format widget specialement pour prepro. + // */ + // protected BGroupeCalque addCqInfos() { + // + // // this.getProjet().filleLayout_.getScene() + // JOptionPane.showMessageDialog(null, "addCqInfo de Trpostvisupanel"); + // + // final BGroupeCalque gr = new BGroupeCalque(); + // gr.setName("gpInfo"); + // gr.setTitle(EbliLib.getS("infos")); + // final BCalqueLegende l = new BCalqueLegende(); + // l.setDestructible(false); + // l.setTitle(EbliLib.getS("L\xE9gende")); + // l.setName("cqLegende"); + // + // gr.add(malegende); + // + // // -- ajout de la legende du calque dans la scene --// + // this.getProjet().filleLayout_.controller_.addCalqueLegende(malegende); + // + // // vc_.getCalque().enPremier(gr); + // // on affiche pas la legende dans le groupe + // return gr; + // } + // + // /** + // * surhcarge de gectCqInfos afin de controller les calques envoyes. on + // envoie + // * plus de legende mais un calque vide. + // */ + // public BGroupeCalque getCqInfos() { + // + // return new BGroupeCalque(); + // } + protected EbliActionInterface addActionEvolutionFor(final boolean _rubar) { return new EvolutionAction(_rubar); } @@ -417,4 +474,63 @@ } MvExportFactory.startExport(fac, _impl, _selection); } + + /** + * duplication du trPostVisuPanel. surcharge de la duplication du + * zeblicalquePanel. + */ + public TrPostVisuPanel duplicate(){ + + final TrPostVisuPanel duplic = new TrPostVisuPanel(this.getImpl(), this.getProjet()); + // -- duplication du layer qui contient les memes proprietes --// + duplic.isoLayer_ = (TrIsoLayer) this.isoLayer_.duplicate(); + + + + // -- duplication des donnees via sauvegarde thread--// + new CtuluTaskOperationGUI(this.impl_, TrResource.getS("Enregistrement")) { + + public void act() { + + // -- sauvegarde de l etat --// + BCalqueSaverInterface savedData= getDonneesCalque().getPersistenceMng().save(getDonneesCalque(),impl_.createProgressionInterface(this)); + + // -- chargement de l etat dans le calque duplique --// + duplic.getDonneesCalque().getPersistenceMng().restore(savedData, duplic, duplic.getDonneesCalque(), + impl_.createProgressionInterface(this)); + + // -- destruction des calques doublons du duplic pour recuperer une + // bonne arborescence --// + + // BCalque[] liste = duplic.getDonneesCalque().getCalques(); + // for (int i = 0; i < liste.length; i++) { + // BCalque calque = liste[i]; + // boolean existeDeja = false; + // // --recherche si doublon --// + // for (int j = i + 1; j < liste.length; j++) { + // BCalque calque2 = liste[j]; + // if (calque == calque2) + // liste[j].setDestructible(true); + // // duplic.getDonneesCalque().detruire(liste[j]); + // duplic.detruireCalque(liste[j]); + // + // } + // + // } + + + } + }.start(); + + + + + + + + + return duplic; + } + + } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-08-19 03:47:08
|
Revision: 3827 http://fudaa.svn.sourceforge.net/fudaa/?rev=3827&view=rev Author: deniger Date: 2008-08-19 03:47:18 +0000 (Tue, 19 Aug 2008) Log Message: ----------- Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java Deleted: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java 2008-08-19 03:46:23 UTC (rev 3826) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java 2008-08-19 03:47:18 UTC (rev 3827) @@ -1,174 +0,0 @@ -package org.fudaa.ebli.visuallibrary.calque; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.util.Iterator; -import java.util.List; - -import javax.swing.JComponent; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JMenu; -import javax.swing.JMenuBar; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JToolBar; -import javax.swing.JTree; -import javax.swing.border.LineBorder; - -import org.flexdock.docking.DockingConstants; -import org.flexdock.docking.DockingManager; -import org.flexdock.docking.DockingPort; -import org.flexdock.docking.defaults.DefaultDockingPort; -import org.flexdock.view.View; -import org.fudaa.ebli.calque.BArbreCalque; -import org.fudaa.ebli.calque.ZEbliCalquesPanel; -import org.fudaa.ebli.commun.EbliActionInterface; -import org.fudaa.ebli.commun.EbliComponentFactory; -import org.fudaa.ebli.courbe.EGFillePanel; -import org.fudaa.ebli.courbe.EGGrapheTreeModel; - -/** - * A ameliorer... - * - * @author deniger - * - */ -public final class EditCreator { - - private EditCreator() { - - } - - public static final EditCreator INSTANCE = new EditCreator(); - - JFrame createFrame(ZEbliCalquesPanel pn) { - JFrame frame = new JFrame("Flexdock Test App"); - - frame.getContentPane().setLayout(new BorderLayout()); - JMenu[] specificMenus = pn.getSpecificMenus("Vue 2D"); - JMenuBar mb = new JMenuBar(); - frame.setJMenuBar(mb); - for (int i = 0; i < specificMenus.length; i++) { - mb.add(specificMenus[i]); - } - JToolBar tb = new JToolBar(); - List actions = pn.getController().getActions(); - for (Iterator iterator = actions.iterator(); iterator.hasNext();) { - EbliActionInterface object = (EbliActionInterface) iterator.next(); - if (object == null) { - tb.addSeparator(); - } else { - tb.add(object.buildToolButton(EbliComponentFactory.INSTANCE)); - } - } - frame.getContentPane().add(tb, BorderLayout.NORTH); - pn.setPreferredSize(pn.getPreferredSize()); - final DefaultDockingPort globalPort = createDockingPort(); - JComponent centerComponent = createView(pn, "VUE 2D"); - DockingManager.dock(centerComponent, (DockingPort) globalPort); - JComponent rightComponent = createView(new JScrollPane(new BArbreCalque(pn.getArbreCalqueModel())), "arbre", true); - DockingManager.dock(rightComponent, centerComponent, DockingConstants.EAST_REGION, 0.75f); - - frame.getContentPane().add(globalPort, BorderLayout.CENTER); - frame.addWindowListener(new WindowAdapter() { - - @Override - public void windowClosed(WindowEvent _e) { - globalPort.clear(); - } - - }); - return frame; - - } - - public JFrame createFrame(EGFillePanel pn) { - JFrame frame = new JFrame("Modification du graphe"); - - frame.getContentPane().setLayout(new BorderLayout()); - EbliActionInterface[] specificInterfaces = pn.getSpecificActions(); - JMenuBar mb = new JMenuBar(); - frame.setJMenuBar(mb); - JMenu menu = new JMenu("Menu graphe"); - pn.fillSpecificMenu(menu); - - // for (int i = 0; i < specificInterfaces.length; i++) { - // mb.add(new JMenu(specificInterfaces[i])); - // } - mb.add(menu); - - JToolBar tb = new JToolBar(); - - for (int i = 0; i < specificInterfaces.length; i++) { - EbliActionInterface object = specificInterfaces[i]; - if (object == null) { - tb.addSeparator(); - } else { - tb.add(object.buildToolButton(EbliComponentFactory.INSTANCE)); - } - } - frame.getContentPane().add(tb, BorderLayout.NORTH); - pn.setPreferredSize(pn.getPreferredSize()); - final DefaultDockingPort globalPort = createDockingPort(); - JComponent centerComponent = createView(pn, "Graphe"); - DockingManager.dock(centerComponent, (DockingPort) globalPort); - - // -- ajout du tree associes au nodes du graphe --// - JTree tree = new JTree((EGGrapheTreeModel) pn.getGraphe().getModel()); - // -- ajout du selectionlistener pour recuperer les events !! --// - tree.setSelectionModel(((EGGrapheTreeModel) pn.getGraphe().getModel()).getSelectionModel()); - tree.setRootVisible(false); - - JComponent rightComponent = createView(new JScrollPane(tree), "arbre", true); - DockingManager.dock(rightComponent, centerComponent, DockingConstants.EAST_REGION, 0.75f); - - frame.getContentPane().add(globalPort, BorderLayout.CENTER); - frame.addWindowListener(new WindowAdapter() { - - @Override - public void windowClosed(WindowEvent _e) { - globalPort.clear(); - } - - }); - return frame; - - } - - - private static DefaultDockingPort createDockingPort() { - DefaultDockingPort port = new DefaultDockingPort(); - port.setPreferredSize(new Dimension(400, 400)); - return port; - } - - private static JComponent createDockableComponent(String name) { - JPanel panel = new JPanel(new BorderLayout()); - panel.setBorder(new LineBorder(Color.BLUE)); - panel.add(new JLabel("COUCOU " + name)); - return createView(panel, name, true); - } - - private static JComponent createView(JComponent jc, String name) { - return createView(jc, name, false); - } - - private static JComponent createView(JComponent jc, String name, boolean dockage) { - View view = new View(name); - view.getViewProperties().setDockingEnabled(false); - if (dockage) { - view.addAction(DockingConstants.CLOSE_ACTION); - view.getViewProperties().setDockingEnabled(true); - } - view.setContentPane(jc); - view.setTitle(name, true); - // DockingManager.registerDockable(view.getComponent(), name); - - return view; - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-08-19 03:46:16
|
Revision: 3826 http://fudaa.svn.sourceforge.net/fudaa/?rev=3826&view=rev Author: deniger Date: 2008-08-19 03:46:23 +0000 (Tue, 19 Aug 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluLibSwing.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquePanelController.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/action/CalqueActionSonde.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGTableGraphePanel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetCreatorGraphe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/impl/FudaaInternalFrameModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/layer/MvVisuPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileBuilderFromLine.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileFillePanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileTreeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrLauncherDefault.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/data/TrVisuPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/build.xml branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/prepro.properties Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetEditCreator.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostActionController.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostScene.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSceneEditor.java branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/extensions.jnlp branches/Prepro-0.92-SNAPSHOT/fudaa-distrib/prepro/prepro-maquette.jnlp Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluLibSwing.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluLibSwing.java 2008-08-19 03:44:44 UTC (rev 3825) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/gui/CtuluLibSwing.java 2008-08-19 03:46:23 UTC (rev 3826) @@ -10,22 +10,36 @@ import java.awt.Color; import java.awt.Component; import java.awt.Container; +import java.awt.Dialog; import java.awt.Font; import java.awt.Frame; +import java.awt.KeyboardFocusManager; +import java.awt.Window; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; -import javax.swing.*; +import javax.swing.AbstractListModel; +import javax.swing.BorderFactory; +import javax.swing.Icon; +import javax.swing.JCheckBox; +import javax.swing.JComponent; +import javax.swing.JDialog; +import javax.swing.JFrame; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JTextField; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; import javax.swing.border.Border; +import org.fudaa.ctulu.CtuluLib; + import com.memoire.bu.BuApplication; import com.memoire.bu.BuBorders; import com.memoire.bu.BuCheckBox; import com.memoire.bu.BuLib; import com.memoire.bu.BuList; -import org.fudaa.ctulu.CtuluLib; - /** * @author fred deniger * @version $Id: CtuluLibSwing.java,v 1.8 2007-05-04 13:43:23 deniger Exp $ @@ -49,9 +63,11 @@ } /** - * Ajouter un actionListener a la checkbox _res afin d'activer ou non un panneau (et tous ces composants). + * Ajouter un actionListener a la checkbox _res afin d'activer ou non un + * panneau (et tous ces composants). * - * @param _target le panneau dont les composants seront activ\xE9es ou non, selon l'\xE9tat de la checkbox _res + * @param _target le panneau dont les composants seront activ\xE9es ou non, selon + * l'\xE9tat de la checkbox _res * @param _res la checkbox permettant de activer ou non un panneau */ public static void addActionListenerForCheckBoxTitle(final JPanel _target, final JCheckBox _res) { @@ -74,9 +90,7 @@ } public static String getHelpUrl(final JComponent _c) { - if (_c == null) { - return null; - } + if (_c == null) { return null; } String r = (String) _c.getClientProperty(CtuluLib.getHelpProperty()); if (r == null) { final Container parent = _c.getParent(); @@ -88,20 +102,31 @@ } public static Frame getFrameAncestor(final Component _c) { - if (_c instanceof Frame) { - return (Frame) _c; - } + if (_c instanceof Frame) { return (Frame) _c; } + Frame fr = (Frame) SwingUtilities.getAncestorOfClass(JFrame.class, _c); + if (fr != null) return fr; final BuApplication app = (BuApplication) SwingUtilities.getAncestorOfClass(BuApplication.class, _c); - if (app != null) { - return app; - } - return (Frame) SwingUtilities.getAncestorOfClass(JFrame.class, _c); + if (app != null) { return app; } + return null; } + /** + * @return la window active + */ + public static Window getActiveWindow() { + return KeyboardFocusManager.getCurrentKeyboardFocusManager().getActiveWindow(); + } + + public static JDialog createDialogOnActiveWindow(String _title) { + Window w = getActiveWindow(); + if (w instanceof Frame) { return new JDialog((Frame) w, _title); } + if (w instanceof Dialog) { return new JDialog((Dialog) w, _title); } + return new JDialog(BuLib.HELPER, _title); + + } + public static BuList createBuList(final Object[] _o) { - if (_o == null) { - return new BuList(); - } + if (_o == null) { return new BuList(); } final BuList l = new BuList(); l.setModel(CtuluLibSwing.createListModel(_o)); return l; @@ -154,12 +179,8 @@ d.dispose(); final Object selectedValue = _optionPane.getValue(); - if (selectedValue == null) { - return JOptionPane.CLOSED_OPTION; - } - if (selectedValue instanceof Integer) { - return ((Integer) selectedValue).intValue(); - } + if (selectedValue == null) { return JOptionPane.CLOSED_OPTION; } + if (selectedValue instanceof Integer) { return ((Integer) selectedValue).intValue(); } return JOptionPane.CLOSED_OPTION; } @@ -210,7 +231,7 @@ c.setEnabled(_enable); if (c instanceof Container) { setEnable((Container) c, _resToAvoid, _enable); - } + } } } } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquePanelController.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquePanelController.java 2008-08-19 03:44:44 UTC (rev 3825) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquePanelController.java 2008-08-19 03:46:23 UTC (rev 3826) @@ -106,7 +106,7 @@ CalqueInteractionListener interactionListener_; protected ZEbliCalquesPanel pn_; - boolean isSpecificActionInit_; + protected boolean isSpecificActionInit_; EbliActionInterface[] selectedActionGroup_; @@ -175,6 +175,7 @@ /** * Construction du groupe de navigation par defaut. */ + @SuppressWarnings("serial") protected void buildButtonGroupNavigation() { if (navigationActionGroup_ != null) { return; @@ -490,7 +491,7 @@ return actions; } - void initSpecificActions() { + protected void initSpecificActions() { if (!isSpecificActionInit_) { specificActionGroup_ = pn_.getApplicationActions(); isSpecificActionInit_ = true; Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/action/CalqueActionSonde.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/action/CalqueActionSonde.java 2008-08-19 03:44:44 UTC (rev 3825) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/action/CalqueActionSonde.java 2008-08-19 03:46:23 UTC (rev 3826) @@ -28,7 +28,7 @@ "SONDE", _cq); _m.addTreeSelectionListener(this); super.setDefaultToolTip(EbliLib.getS("Interpoler les valeurs en un point")); - super.setEnabled(_m.getSelectedCalque() instanceof ZCalqueSondeInterface); + updateForLayer(_m.getSelectedCalque()); } public void valueChanged(final TreeSelectionEvent _e){ @@ -39,14 +39,18 @@ final BCalque c = (BCalque) _e.getPath().getLastPathComponent(); //le calque en cours doit passer en mode inactif // active si le nouveau calque le permet - if (c instanceof ZCalqueSondeInterface) { + updateForLayer(c); + + } + + private void updateForLayer(final BCalque _c) { + if (_c instanceof ZCalqueSondeInterface) { super.setEnabled(true); - ((ZCalqueSondeInteraction)bc_).setTarget((ZCalqueSondeInterface)c); + ((ZCalqueSondeInteraction)bc_).setTarget((ZCalqueSondeInterface)_c); } else { super.setEnabled(false); ((ZCalqueSondeInteraction)bc_).setTarget(null); } - } } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java 2008-08-19 03:44:44 UTC (rev 3825) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/commun/EbliActionPaletteAbstract.java 2008-08-19 03:46:23 UTC (rev 3826) @@ -9,6 +9,7 @@ import java.awt.Component; import java.awt.Dialog; import java.awt.Dimension; +import java.awt.Frame; import java.awt.Point; import java.awt.Window; import java.awt.event.MouseWheelListener; @@ -24,15 +25,16 @@ import javax.swing.SwingUtilities; import javax.swing.event.InternalFrameEvent; +import org.fudaa.ctulu.gui.CtuluLibSwing; + import com.memoire.bu.BuDesktop; import com.memoire.bu.BuLib; import com.memoire.bu.BuPalette; -import org.fudaa.ctulu.gui.CtuluLibSwing; - /** * @author deniger - * @version $Id: EbliActionPaletteAbstract.java,v 1.21 2007-06-13 12:57:45 deniger Exp $ + * @version $Id: EbliActionPaletteAbstract.java,v 1.21 2007-06-13 12:57:45 + * deniger Exp $ */ public abstract class EbliActionPaletteAbstract extends EbliActionChangeState { @@ -97,9 +99,7 @@ dial_.dispose(); dial_ = null; } - if ((window_ == null) || !window_.isVisible()) { - return; - } + if ((window_ == null) || !window_.isVisible()) { return; } loc_ = window_.getLocation(); window_.setVisible(false); window_.getContent().setVisible(false); @@ -152,14 +152,16 @@ } if (desktop_ == null) { - Dialog d = (Dialog) SwingUtilities.getAncestorOfClass(Dialog.class, parent_); + Window d = (Window) SwingUtilities.getAncestorOfClass(Window.class, parent_); if (d != null) { - dial_ = new JDialog(d); + dial_ = (d instanceof Frame) ? new JDialog((Frame) d) : new JDialog((Dialog) d); dial_.setLocation(d.getLocationOnScreen()); } else { dial_ = new JDialog(CtuluLibSwing.getFrameAncestor(parent_)); + dial_.setLocationRelativeTo(parent_); } + dial_.setModal(true); dial_.setContentPane(window_.getContentPane()); dial_.pack(); dial_.addWindowListener(new WindowAdapter() { @@ -214,9 +216,7 @@ } public JComponent getPaletteContent() { - if (window_ == null) { - return null; - } + if (window_ == null) { return null; } return window_.getContent(); } @@ -233,7 +233,8 @@ } /** - * Methode appele lorsque le bouton de cette palette change d'\xE9tat (visible ou non). + * Methode appele lorsque le bouton de cette palette change d'\xE9tat (visible ou + * non). */ public void setMainButtonVisible(final boolean _b) { if (_b && isSelected()) { Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java 2008-08-19 03:44:44 UTC (rev 3825) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java 2008-08-19 03:46:23 UTC (rev 3826) @@ -23,7 +23,6 @@ import com.memoire.fu.Fu; import com.memoire.fu.FuLog; - /** * @author Fred Deniger * @version $Id: EGAxeHorizontal.java,v 1.17 2007-05-04 13:49:41 deniger Exp $ @@ -32,7 +31,7 @@ private boolean isDiscret_; - //private boolean isIntegerStep_; + // private boolean isIntegerStep_; /** * Rien. @@ -64,11 +63,11 @@ } - protected void afficheGraduationsEtGrille(final Graphics2D _g,final EGRepere _f){ - //NumberFormat nf = isIntegerStep_ ? null : getNumberFormat(); + protected void afficheGraduationsEtGrille(final Graphics2D _g, final EGRepere _f) { + // NumberFormat nf = isIntegerStep_ ? null : getNumberFormat(); final FontMetrics fm = _g.getFontMetrics(); final Color lightfg = getLightColor(); - //Color superlightfg = getSuperLightColor(); + // Color superlightfg = getSuperLightColor(); final int y = _f.getMaxEcranY(); final int yBasMajor = y + 3; final int yBas = y + 1; @@ -76,8 +75,8 @@ double lastMaxX = -10; final double ftHaut = fm.getMaxAscent() + 5; final boolean grille = isGrille(); - int idx=0; - for (final TickIterator it = buildUpToDateMainTickIterator(); it.hasNext() && idx<300; it.next()) { + int idx = 0; + for (final TickIterator it = buildUpToDateMainTickIterator(); it.hasNext() && idx < 300; it.next()) { idx++; _g.setColor(lightfg); final int xe = _f.getXEcran(it.currentValue()); @@ -90,7 +89,7 @@ } final double wordWidth = fm.stringWidth(t); final double xLeft = xe - wordWidth / 2; - //pour eviter que les graduations se chevauchent + // pour eviter que les graduations se chevauchent if (xLeft > (lastMaxX + 2) && (xe + wordWidth / 2) < _f.getMaxEcranX()) { _g.drawLine(xe, y, xe, yBasMajor); @@ -99,8 +98,7 @@ } else { _g.drawLine(xe, y, xe, yBas); } - } - else { + } else { _g.drawLine(xe, y, xe, yBas); } } @@ -109,32 +107,33 @@ } } /* - * t = getStringAffiche(maximum); int xe = _f.getXEcran(maximum); double xLeft = xe - - * fm.stringWidth(t) / 2; if (xLeft > (lastMaxX + 2)) { g.drawString(t, (int) xLeft, (int) (y + - * ftHaut)); } + * t = getStringAffiche(maximum); int xe = _f.getXEcran(maximum); double + * xLeft = xe - fm.stringWidth(t) / 2; if (xLeft > (lastMaxX + 2)) { + * g.drawString(t, (int) xLeft, (int) (y + ftHaut)); } */ } /** - * Appelee uniquement si isIntegerStep est true: permet de donner une repr\xE9sentation specifique - * pour la graduation passee en parametres. Par defaut, l'entier est traduit en string. + * Appelee uniquement si isIntegerStep est true: permet de donner une + * repr\xE9sentation specifique pour la graduation passee en parametres. Par + * defaut, l'entier est traduit en string. + * * @param _i la graduation a dessiner * @return la chaine representant cette graduation */ - protected String getGraduationFor(final int _i){ + protected String getGraduationFor(final int _i) { return CtuluLibString.getString(_i); } - protected Color getLightColor(){ + protected Color getLightColor() { final int rc = lineColor_.getRed(); final int gc = lineColor_.getGreen(); final int bc = lineColor_.getBlue(); final int incr = Math.max(Math.max((200 - rc), (200 - gc)), (200 - bc)); - return new Color(Math.min(255, rc + incr / 5), Math.min(255, gc + incr / 5), Math.min(255, bc - + incr / 5)); + return new Color(Math.min(255, rc + incr / 5), Math.min(255, gc + incr / 5), Math.min(255, bc + incr / 5)); } - protected Color getSuperLightColor(){ + protected Color getSuperLightColor() { final int rc = lineColor_.getRed(); final int gc = lineColor_.getGreen(); final int bc = lineColor_.getBlue(); @@ -142,7 +141,7 @@ return new Color(Math.min(255, rc + incr), Math.min(255, gc + incr), Math.min(255, bc + incr)); } - protected TickIterator createMainTickIterator(){ + protected TickIterator createMainTickIterator() { if (isDiscret_ && axisIterator_ == null) { axisIterator_ = new NumberIntegerIterator(); } @@ -151,13 +150,12 @@ /** * Dessine l'axe horizontal. + * * @param _g le graphics cible * @param _f le repere */ - public void dessine(final Graphics2D _g,final EGRepere _f){ - if (!visible_) { - return; - } + public void dessine(final Graphics2D _g, final EGRepere _f) { + if (!visible_) { return; } final Font old = _g.getFont(); if (font_ != null) { _g.setFont(font_); @@ -179,8 +177,8 @@ _g.drawLine(xf, y, xf - 3, y + 2); } _g.setFont(old); - if(FuLog.isDebug()&& Fu.DEBUG) { - FuLog.debug(getClass().getName()+" paint END"); + if (FuLog.isDebug() && Fu.DEBUG) { + FuLog.debug(getClass().getName() + " paint END"); } } @@ -188,7 +186,7 @@ if (titreVisible_ || uniteVisible_) { final String t = titreVisible_ ? titre_ : null; String unit = null; - if (uniteVisible_ && unite_!=null && unite_.length()>0) { + if (uniteVisible_ && unite_ != null && unite_.length() > 0) { unit = '[' + unite_ + ']'; } _g.setColor(lineColor_); @@ -206,8 +204,7 @@ } final int xtext = _xi + (_f.getMaxEcranX() - _xi) / 2 - fm.stringWidth(txt) / 2; _g.drawString(txt, xtext, _y + _f.getMargesBas() - fm.getHeight() - 1); - } - else { + } else { if (t != null) { width = fm.stringWidth(t); } @@ -234,45 +231,45 @@ * @param _g la cible * @return l'espace requis en bas de l'axe */ - public int getBottomHeightNeeded(final Graphics2D _g){ - //epaisseur trait + public int getBottomHeightNeeded(final Graphics2D _g) { + // epaisseur trait int r = 3; - if (_g == null) { - return r; - } + if (_g == null) { return r; } if (graduations_ || isGrille()) { if (font_ == null) { font_ = EGGraphe.DEFAULT_FONT; } - //la graduation + // la graduation r += 10; r += _g.getFontMetrics(font_).getHeight(); } - //si la legende est centree elle est dessinee en-dessous de la graduation + // si la legende est centree elle est dessinee en-dessous de la graduation if (isTitreCentre_) { r += _g.getFontMetrics(font_).getHeight(); } /* - * if (titre != null && unite != null) { r += _g.getFontMetrics(font).getDescent(); } + * if (titre != null && unite != null) { r += + * _g.getFontMetrics(font).getDescent(); } */ return r; } /* *//** - * Renvoie la chaine reelle et non formatee. - * @param _val la valeur a considerer - * @return la chaine a utiliser pour l'affichage - */ + * Renvoie la chaine reelle et non formatee. + * + * @param _val la valeur a considerer + * @return la chaine a utiliser pour l'affichage + */ /* - * public String getReelString(double _val){ if (isIntegerStep_) { return getGraduationFor((int) - * _val); } return Double.toString(_val); } + * public String getReelString(double _val){ if (isIntegerStep_) { return + * getGraduationFor((int) _val); } return Double.toString(_val); } */ /** * @param _g le graphics dessine * @return l'espace requis a droite de l'axe */ - public int getRightWidthNeeded(final Graphics2D _g){ + public int getRightWidthNeeded(final Graphics2D _g) { int r = 0; if (!isTitreCentre_) { if (titreVisible_ && titre_ != null) { @@ -295,31 +292,30 @@ * @param _val la valeur a considerer * @return la chaine a utiliser pour l'affichage */ - public String getStringAffiche(final double _val){ - if (specificFormat_ != null) { - return specificFormat_.format(_val); - } + public String getStringAffiche(final double _val) { + if (specificFormat_ != null) { return specificFormat_.format(_val); } return super.getStringAffiche(_val); } - public final boolean isDiscret(){ + public final boolean isDiscret() { return isDiscret_; } /** - * Les graduations peuvent sous forme d'entier. Dans ce cas, la graduation est effectuee en - * consequence: seul des entiers sont dessin\xE9s. + * Les graduations peuvent sous forme d'entier. Dans ce cas, la graduation est + * effectuee en consequence: seul des entiers sont dessin\xE9s. + * * @return true si la graduation est faite par palier. */ /* * public final boolean isIntegerStep(){ return isIntegerStep_; } */ - public final boolean isVertical(){ + public final boolean isVertical() { return false; } - public static EGAxeHorizontal buildDefautTimeAxe(final CtuluNumberFormatI _i){ + public static EGAxeHorizontal buildDefautTimeAxe(final CtuluNumberFormatI _i) { final EGAxeHorizontal h = new EGAxeHorizontal(); h.setTitre("t"); h.setAxisIterator(new DateIterator()); @@ -340,18 +336,18 @@ * @param _isIntegerStep si la graduation est faite par palier. */ /* - * public final void setIntegerStep(boolean _isIntegerStep){ isIntegerStep_ = _isIntegerStep; - * if(axisIterator_!=null) axisIterator_=null; } + * public final void setIntegerStep(boolean _isIntegerStep){ isIntegerStep_ = + * _isIntegerStep; if(axisIterator_!=null) axisIterator_=null; } */ - + public EGAxeHorizontal duplicate() { - + EGAxeHorizontal duplic = new EGAxeHorizontal(this); - duplic.setFont(new Font(this.getFont().getFamily(),this.getFont().getStyle(),this.getFont().getSize())); + if (getFont() != null) duplic.setFont(new Font(this.getFont().getFamily(), this.getFont().getStyle(), this + .getFont().getSize())); duplic.setTitre(this.getTitre()); - + return duplic; } - } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGTableGraphePanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGTableGraphePanel.java 2008-08-19 03:44:44 UTC (rev 3825) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGTableGraphePanel.java 2008-08-19 03:46:23 UTC (rev 3826) @@ -627,7 +627,7 @@ } - void setLabel(final BuLabel _lb) { + public void setLabel(final BuLabel _lb) { lbXyInfo_ = _lb; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java 2008-08-19 03:44:44 UTC (rev 3825) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java 2008-08-19 03:46:23 UTC (rev 3826) @@ -11,6 +11,7 @@ import javax.swing.JPopupMenu; import org.fudaa.ctulu.CtuluCommandManager; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetEditCreator; import org.netbeans.api.visual.action.ActionFactory; import org.netbeans.api.visual.action.PopupMenuProvider; import org.netbeans.api.visual.action.WidgetAction; @@ -26,16 +27,31 @@ * */ public class EbliScene extends GraphScene<EbliNode, EbliEdge> { - + public static void refreshScene(Scene _sc) { _sc.validate(); _sc.repaint(); - if (_sc.getView() != null) - _sc.getView().repaint(); + if (_sc.getView() != null) _sc.getView().repaint(); } + EbliWidgetEditCreator editor_ = EbliWidgetEditCreator.INSTANCE; + /** + * @return the editor + */ + public EbliWidgetEditCreator getEditor() { + return editor_; + } + + /** + * @param _editor the editor to set + */ + public void setEditor(EbliWidgetEditCreator _editor) { + editor_ = _editor; + } + + /** * Le gestionnaire de commande associe \xE0 la scene */ CtuluCommandManager cmdMng_; @@ -72,6 +88,7 @@ setMenuBase(); } + /** * Methode qui permet d ajouter un listener * @@ -79,8 +96,7 @@ */ public void addEbliNodeListener(EbliNodeListener listener) { // init si necessaire - if (listenerList == null) - listenerList = new HashSet<EbliNodeListener>(); + if (listenerList == null) listenerList = new HashSet<EbliNodeListener>(); // ajout listenerList.add(listener); } @@ -108,8 +124,7 @@ // -- remplissage des proprietes res.setPreferredLocation(node.getPreferedLocation()); - if (node.getPreferedSize() != null) - res.setPreferredSize(node.getPreferedSize()); + if (node.getPreferedSize() != null) res.setPreferredSize(node.getPreferedSize()); // -- ajout dans la vue layer --// visu_.addChild(res); @@ -122,10 +137,8 @@ * graph model. The default implementation removes the node widget from its * parent widget. * - * @param node - * the removed node - * @param widget - * the removed node widget; null if the node is non-visual + * @param node the removed node + * @param widget the removed node widget; null if the node is non-visual * * Surcharge pour faire appel au notify des listener et ainsi mettre * ajour les listener @@ -134,8 +147,7 @@ // -- indique la suppresion du node chez le parent notifyAllListenerNodeRemoved(node); - if (widget != null) - widget.removeFromParent(); + if (widget != null) widget.removeFromParent(); } @@ -164,8 +176,7 @@ * @param listener */ public void notifyAllListenerNodeAdded(EbliNode node) { - if (listenerList == null) - return; + if (listenerList == null) return; for (Iterator<EbliNodeListener> it = listenerList.iterator(); it.hasNext();) { it.next().nodeAdded(node); } @@ -178,8 +189,7 @@ * @param listener */ public void notifyAllListenerNodeRemoved(EbliNode node) { - if (listenerList == null) - return; + if (listenerList == null) return; for (Iterator<EbliNodeListener> it = listenerList.iterator(); it.hasNext();) { EbliNodeListener listener = it.next(); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java 2008-08-19 03:44:44 UTC (rev 3825) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java 2008-08-19 03:46:23 UTC (rev 3826) @@ -13,6 +13,7 @@ import javax.swing.JMenuItem; import javax.swing.JPopupMenu; +import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluResource; import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.controle.BConfigurableComposite; @@ -44,7 +45,6 @@ */ public Map propGraphique; - /** * Liste des clef utilisees pour les composants graphiques */ @@ -53,8 +53,7 @@ public final static String COLORFOND = "colorFond"; public final static String ROTATION = "rotation"; public final static String FONT = "font"; - - + private boolean useBorder_ = true; /** @@ -71,7 +70,11 @@ */}; } - + protected String getTitle() { + EbliNode n = (EbliNode) getEbliScene().findObject(this); + return n == null ? CtuluLibString.EMPTY_STRING : n.getTitle(); + } + /** * Retourne une interface widgetConfigure qui permet de gerer les interfaces a * creer @@ -79,24 +82,23 @@ * @return */ private BConfigurableInterface getSingleConfigureInterface() { - + // -- retourne l interface qui va bien qui permet de creer les composants // graphiques correspondant --// return new WidgetConfigure(this); } - - public void addPropertyChangeListener(String _key, PropertyChangeListener _l) { - // voir EGObject + // voir EGObject } - + // useless public Object getMin(String _key) { return null; } + // useless public Object getMoy(String _key) { return null; @@ -107,72 +109,67 @@ * correspondant depuis la map d objets graphiques de la widget. */ public Object getProperty(String _key) { - + System.err.println("suis dans getProperty key= " + _key); - + // -- cas particulier si il s agit de la rotation --// // -- il faut transformer les degres en radian --// if (_key.equals(ROTATION)) { double radian = getRotation(); int degre = (int) (radian * 180 / Math.PI); - return new Integer(degre); + return new Integer(degre); } - - + return propGraphique.get(_key); } - public void removePropertyChangeListener(String _key, PropertyChangeListener _l) { - } + public void removePropertyChangeListener(String _key, PropertyChangeListener _l) {} /** * Methode directement appelee apres modification des parametres renvoye par * le getproperty. Ajoute les anciens parametres dans la commande undo/redo. */ public boolean setProperty(String _key, Object prop) { - + System.err.println("Je suis rentre dans setProperty key= " + _key); - - - // --cas particulier si il s agit du tracelignemodel: il faut mettre a jour // l ancien lignemodel --// if (_key.equals(LINEMODEL)) { getTraceLigneModel().updateData((TraceLigneModel) prop); prop = getTraceLigneModel(); } else if (_key.equals(ROTATION) && prop instanceof Integer) { - // -- cas particulier si il s agit de la rotation --// + // -- cas particulier si il s agit de la rotation --// // -- il faut transformer les degres en radian --// int degre = ((Integer) prop).intValue(); double radian = degre * Math.PI / 180; prop = new Double(radian); - + } - - // -- creation de la commande undo/redo --// + + // -- creation de la commande undo/redo --// CommandeUndoRedoGraphicalProperties undoRedo = new CommandeUndoRedoGraphicalProperties(); - + // -- ajout de la widget en question ainsi que la oldpropertie --// undoRedo.addWidget(this); undoRedo.addOldPropertie(this.duplicateGraphicalProperties()); - + // --mise a jout de la map de proprietes --// propGraphique.put(_key, prop); - + // -- ajout de la nouvelle propertie --// undoRedo.addNewPropertie(propGraphique); - + // -- enregistrement de la commande undo/redo --// if (getEbliScene().cmdMng_ != null) { getEbliScene().cmdMng_.addCmd(undoRedo); } - + // -- mise a jour des parametres de la map --// refreshMyProperties(); - + return true; } @@ -182,34 +179,31 @@ /** * @param scene - * @param Point - * : indiaue la location preferentiel. peut etre nul + * @param Point : indiaue la location preferentiel. peut etre nul */ public EbliWidget(EbliScene scene) { super(scene); setScene_(scene); - - //-- remplisage de la map de propriete grahiques --// + + // -- remplisage de la map de propriete grahiques --// propGraphique = new HashMap<String, Object>(); - + // -- ajout du traceligneModel utilise par les filles--// propGraphique.put(LINEMODEL, new TraceLigneModel()); - + // -- ajout de la couleur de fond par default blanc--// propGraphique.put(COLORFOND, Color.WHITE); // -- ajout de la couleur de contour par default black--// propGraphique.put(COLORCONTOUR, Color.BLACK); - + // -- ajout de la font par default--// propGraphique.put(FONT, new Font("Helvetica.Italic", Font.PLAIN, 12)); // -- ajout de l angle de rotation par default PI --// propGraphique.put(ROTATION, Math.PI); - - - - //-- construction des actions --// + + // -- construction des actions --// getActions().addAction(scene.createSelectAction()); getActions().addAction(ActionFactory.createResizeAction()); getActions().addAction(scene.createWidgetHoverAction()); @@ -229,7 +223,7 @@ * @param _popup */ public void constructPopupMenuBase(JPopupMenu _popup) { - + JMenuItem menuItem4 = _popup.add("Configuration graphique"); menuItem4.setIcon(CtuluResource.CTULU.getIcon("crystal_configurer")); // BuResource.BU.getIcon("configurer") @@ -267,8 +261,7 @@ } }); - - + JMenuItem menuItem1 = _popup.add("Dupliquer l'objet"); menuItem1.setIcon(CtuluResource.CTULU.getIcon("crystal22_cascade")); menuItem1.addActionListener(new ActionListener() { @@ -288,14 +281,11 @@ if (duplique != null && EbliWidget.this.getScene() != null) { EbliWidget.this.getEbliScene().addNode(duplique); - // -- duplication des map de property graphique de la widget --// duplique.getCreator().getWidget().propGraphique = n.getCreator().getWidget().duplicateGraphicalProperties(); // -- duplication de la taille --// duplique.getCreator().getWidget().setPreferredBounds(n.getCreator().getWidget().getPreferredBounds()); - - - + // -- raffraichissement de la scene --// EbliWidget.this.getEbliScene().refresh(); } @@ -303,13 +293,7 @@ } }); - - - - - - JMenuItem menuItem2 = _popup.add("Supprimer l'objet"); menuItem2.setIcon(CtuluResource.CTULU.getIcon("crystal_non")); menuItem2.addActionListener(new ActionListener() { @@ -325,7 +309,7 @@ } }); - + } /** @@ -350,9 +334,7 @@ @Override public void notifyStateChanged(ObjectState previousState, ObjectState newState) { - if (!useBorder_) { - return; - } + if (!useBorder_) { return; } setBorder(getScene().getLookFeel().getBorder(newState)); } @@ -389,25 +371,19 @@ public void refreshMyProperties() { getEbliScene().refresh(); } - - + public Map duplicateGraphicalProperties() { - Map mapDupliquee = new HashMap<String, Object>(); - - mapDupliquee.put(LINEMODEL, new TraceLigneModel(getTraceLigneModel())); mapDupliquee.put(COLORCONTOUR, getColorContour()); mapDupliquee.put(COLORFOND, getColorFond()); mapDupliquee.put(ROTATION, getRotation()); mapDupliquee.put(FONT, getFormeFont()); - - + return mapDupliquee; } - /** * Retourne les proprietes de la map. @@ -420,9 +396,6 @@ propGraphique.put(LINEMODEL, _l); } - - - public void setColorContour(Color newColor) { propGraphique.put(COLORCONTOUR, newColor); } @@ -439,21 +412,19 @@ return (Color) propGraphique.get(COLORFOND); } - public double getRotation() { - if (propGraphique.get(ROTATION) instanceof Integer) - propGraphique.put(ROTATION, new Double((Integer) propGraphique.get(ROTATION))); + if (propGraphique.get(ROTATION) instanceof Integer) propGraphique.put(ROTATION, new Double((Integer) propGraphique + .get(ROTATION))); return (Double) propGraphique.get(ROTATION); } public void setRotation(double rotation) { propGraphique.put(ROTATION, rotation); } - - + public Font getFormeFont() { - return (Font) propGraphique.get(FONT); - + return (Font) propGraphique.get(FONT); + } public void setFormeFont(Font newFont) { Copied: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetEditCreator.java (from rev 3819, branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetEditCreator.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetEditCreator.java 2008-08-19 03:46:23 UTC (rev 3826) @@ -0,0 +1,174 @@ +package org.fudaa.ebli.visuallibrary.actions; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.Window; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.util.Iterator; +import java.util.List; + +import javax.swing.Icon; +import javax.swing.JComponent; +import javax.swing.JFrame; +import javax.swing.JMenu; +import javax.swing.JMenuBar; +import javax.swing.JScrollPane; +import javax.swing.JToolBar; +import javax.swing.JTree; + +import org.flexdock.docking.DockingConstants; +import org.flexdock.docking.DockingManager; +import org.flexdock.docking.DockingPort; +import org.flexdock.docking.defaults.DefaultDockingPort; +import org.flexdock.view.View; +import org.fudaa.ebli.calque.BArbreCalque; +import org.fudaa.ebli.calque.ZEbliCalquesPanel; +import org.fudaa.ebli.commun.EbliActionInterface; +import org.fudaa.ebli.commun.EbliComponentFactory; +import org.fudaa.ebli.commun.EbliLib; +import org.fudaa.ebli.courbe.EGFillePanel; +import org.fudaa.ebli.courbe.EGGrapheTreeModel; +import org.fudaa.ebli.ressource.EbliResource; + +/** + * + * @author deniger + * + */ +public class EbliWidgetEditCreator { + + public EbliWidgetEditCreator() { + + } + + /** + * Singleton pour configurer par defaut EbliScene + */ + public static final EbliWidgetEditCreator INSTANCE = new EbliWidgetEditCreator(); + + public Window createFrame(ZEbliCalquesPanel pn, String title) { + JFrame frame = new JFrame(title); + + frame.getContentPane().setLayout(new BorderLayout()); + JMenu[] specificMenus = pn.getSpecificMenus(EbliLib.getS("Vue 2D")); + JMenuBar mb = new JMenuBar(); + frame.setJMenuBar(mb); + for (int i = 0; i < specificMenus.length; i++) { + mb.add(specificMenus[i]); + } + JToolBar tb = new JToolBar(); + List actions = pn.getController().getActions(); + for (Iterator iterator = actions.iterator(); iterator.hasNext();) { + EbliActionInterface object = (EbliActionInterface) iterator.next(); + if (object == null) { + tb.addSeparator(); + } else { + tb.add(object.buildToolButton(EbliComponentFactory.INSTANCE)); + } + } + frame.getContentPane().add(tb, BorderLayout.NORTH); + frame.setIconImage(EbliResource.EBLI.getImage("lissage")); +// pn.setPreferredSize(pn.getPreferredSize()); + final DefaultDockingPort globalPort = createDockingPort(); + JComponent centerComponent = createView(pn, EbliResource.EBLI.getToolIcon("lissage"), EbliLib.getS("Vue 2D")); + DockingManager.dock(centerComponent, (DockingPort) globalPort); + JComponent rightComponent = createView(new JScrollPane(new BArbreCalque(pn.getArbreCalqueModel())), + EbliResource.EBLI.getToolIcon("arbre"), "arbre", true); + DockingManager.dock(rightComponent, centerComponent, DockingConstants.EAST_REGION, 0.75f); + + frame.getContentPane().add(globalPort, BorderLayout.CENTER); + frame.addWindowListener(new WindowAdapter() { + + @Override + public void windowClosed(WindowEvent _e) { + globalPort.clear(); + } + + }); + return frame; + + } + + public Window createFrame(EGFillePanel pn, String title) { + JFrame frame = new JFrame(title); + + frame.getContentPane().setLayout(new BorderLayout()); + frame.setTitle(title); + frame.setIconImage(EbliResource.EBLI.getImage("curves")); + EbliActionInterface[] specificInterfaces = pn.getSpecificActions(); + JMenuBar mb = new JMenuBar(); + frame.setJMenuBar(mb); + JMenu menu = new JMenu("Menu graphe"); + pn.fillSpecificMenu(menu); + + // for (int i = 0; i < specificInterfaces.length; i++) { + // mb.add(new JMenu(specificInterfaces[i])); + // } + mb.add(menu); + + JToolBar tb = new JToolBar(); + + for (int i = 0; i < specificInterfaces.length; i++) { + EbliActionInterface object = specificInterfaces[i]; + if (object == null) { + tb.addSeparator(); + } else { + tb.add(object.buildToolButton(EbliComponentFactory.INSTANCE)); + } + } + frame.getContentPane().add(tb, BorderLayout.NORTH); + pn.setPreferredSize(pn.getPreferredSize()); + final DefaultDockingPort globalPort = createDockingPort(); + JComponent centerComponent = createView(pn, EbliResource.EBLI.getToolIcon("curves"), EbliLib.getS("Courbes")); + DockingManager.dock(centerComponent, (DockingPort) globalPort); + JTree tree = new JTree((EGGrapheTreeModel) pn.getGraphe().getModel()); + JComponent rightComponent = createView(new JScrollPane(tree), EbliResource.EBLI.getToolIcon("arbre"), "arbre", true); + DockingManager.dock(rightComponent, centerComponent, DockingConstants.EAST_REGION, 0.75f); + + frame.getContentPane().add(globalPort, BorderLayout.CENTER); + frame.addWindowListener(new WindowAdapter() { + + @Override + public void windowClosed(WindowEvent _e) { + globalPort.clear(); + } + + }); + return frame; + + } + + protected static DefaultDockingPort createDockingPort() { + DefaultDockingPort port = new DefaultDockingPort(); + port.setPreferredSize(new Dimension(400, 400)); + return port; + } + + // protected static JComponent createDockableComponent(String name) { + // JPanel panel = new JPanel(new BorderLayout()); + // panel.setBorder(new LineBorder(Color.BLUE)); + // panel.add(new JLabel("COUCOU " + name)); + // return createView(panel, name, true); + // } + + protected static JComponent createView(JComponent jc, Icon ic, String name) { + return createView(jc, ic, name, false); + } + + protected static JComponent createView(JComponent jc, Icon ic, String name, boolean dockage) { + View view = new View(name); + view.setIcon(ic); + view.getViewProperties().setDockingEnabled(false); + if (dockage) { + view.addAction(DockingConstants.CLOSE_ACTION); + view.getViewProperties().setDockingEnabled(true); + } + view.setContentPane(jc); + view.setTitle(name, true); + // DockingManager.registerDockable(view.getComponent(), name); + + return view; + } + +} Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetEditCreator.java ___________________________________________________________________ Added: svn:mergeinfo + Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-19 03:44:44 UTC (rev 3825) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-19 03:46:23 UTC (rev 3826) @@ -5,12 +5,14 @@ import java.awt.Graphics2D; import java.awt.Point; import java.awt.Rectangle; +import java.awt.Window; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.awt.image.BufferedImage; -import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Observable; +import java.util.Observer; import javax.swing.JComponent; import javax.swing.JFrame; @@ -36,28 +38,27 @@ * @author deniger * */ -public class EbliWidgetVueCalque extends EbliWidget implements EditProvider { +public class EbliWidgetVueCalque extends EbliWidget implements EditProvider, Observer { ZEbliCalquesPanel calquePanel_; - EditCreator editor_; - JFrame frame_; + public Color couleurContour = Color.black; + public Color couleurFond = Color.white; + + Window frame_; + BufferedImage image; GrBoite zoom_; - public Color couleurContour = Color.black; - public Color couleurFond = Color.white; - public EbliWidgetVueCalque(EbliScene scene, ZEbliCalquesPanel vue) { super(scene); calquePanel_ = vue; - editor_ = EditCreator.INSTANCE; // FIXME a enlever par la suite - setPreferredSize(new Dimension(200, 200)); - setMinimumSize(new Dimension(200, 200)); - initSize(new Rectangle(0, 0, 200, 200)); + setPreferredSize(new Dimension(500, 400)); + initSize(new Rectangle(0, 0, 500, 400)); + // calquePanel_.getArbreCalqueModel().getObservable().addObserver(this); // zoom_ = calquePanel_.getVueCalque().getCalque().getDomaine(); // calquePanel_.restaurer(); @@ -72,18 +73,19 @@ public void edit(Widget _widget) { if (frame_ != null) frame_.toFront(); else { - // final GrBoite gr = calquePanel_.getVueCalque().getViewBoite(); + final GrBoite gr = calquePanel_.getVueCalque().getViewBoite(); Rectangle rec = convertLocalToScene(getClientArea()); Point p = new Point(rec.x, rec.y); JComponent jc = getEbliScene().getView(); SwingUtilities.convertPointToScreen(p, jc); - frame_ = editor_.createFrame(calquePanel_); + frame_ = getEbliScene().getEditor().createFrame(calquePanel_, getTitle()); + p.x = p.x - 50; + p.y = p.y - 50; frame_.setLocation(p); - frame_.pack(); - // calquePanel_.getVueCalque().changeRepere(this, gr); + calquePanel_.getVueCalque().changeRepere(this, gr); frame_.setVisible(true); - frame_.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + frame_.addWindowListener(new WindowAdapter() { @Override @@ -94,17 +96,21 @@ @Override public void windowClosing(WindowEvent _e) { + setPreferredSize(calquePanel_.getVueCalque().getSize()); zoom_ = calquePanel_.getVueCalque().getViewBoite(); - // image = null; - // getEbliScene().refresh(); + image = null; + getEbliScene().refresh(); } }); } - // TODO Auto-generated method stub } + public Color getColorFond() { + return couleurFond; + } + private void initSize(Rectangle rec) { BCalque[] tousCalques = calquePanel_.getVueCalque().getCalque().getTousCalques(); calquePanel_.getVueCalque().setSize(rec.width, rec.height); @@ -115,6 +121,7 @@ } } + @SuppressWarnings("unchecked") @Override protected void paintWidget() { @@ -147,8 +154,9 @@ repaint(); } - public Color getColorFond() { - return couleurFond; + public void update(Observable _o, Object _arg) { + image = null; + getEbliScene().refresh(); } } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetCreatorGraphe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetCreatorGraphe.java 2008-08-19 03:44:44 UTC (rev 3825) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetCreatorGraphe.java 2008-08-19 03:46:23 UTC (rev 3826) @@ -1,48 +1,56 @@ package org.fudaa.ebli.visuallibrary.graphe; +import org.fudaa.ebli.courbe.EGFillePanel; import org.fudaa.ebli.courbe.EGGraphe; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.EbliWidget; import org.fudaa.ebli.visuallibrary.EbliWidgetCreator; + /** * interface qui permet de creer un widget + * * @author genesis - * + * */ public class EbliWidgetCreatorGraphe implements EbliWidgetCreator { - EGGraphe graphe; - public EGGraphe getGraphe() { - return graphe; - } + EGFillePanel pn_; - public void setGraphe(EGGraphe graphe) { - this.graphe = graphe; - } + public EGGraphe getGraphe() { + return pn_.getGraphe(); + } - EbliWidgetGraphe res; + // + // public void setGraphe(EGGraphe graphe) { + // this.graphe = graphe; + // } - public EbliWidgetCreatorGraphe(EGGraphe g) { - super(); - this.graphe = g; - } + EbliWidgetGraphe res; - public EbliWidget create(EbliScene _scene) { - // TODO Auto-generated method stub - // creation de la widget correspondante - res= new EbliWidgetGraphe(_scene, null, graphe); - - // ajout des listener d ecoute du graphe - graphe.getModel().addModelListener( - new EbliWidgetGrapheController(res)); - - return res; - } + public EbliWidgetCreatorGraphe(EGGraphe _g) { + super(); + this.pn_ = new EGFillePanel(_g); + } - public EbliWidget getWidget() { - // TODO Auto-generated method stub - return res; - } + public EbliWidgetCreatorGraphe(EGFillePanel _pn) { + super(); + this.pn_ = _pn; + } + public EbliWidget create(EbliScene _scene) { + // TODO Auto-generated method stub + // creation de la widget correspondante + res = new EbliWidgetGraphe(_scene, null, pn_); + // ajout des listener d ecoute du graphe + pn_.getGraphe().getModel().addModelListener(new EbliWidgetGrapheController(res)); + + return res; + } + + public EbliWidget getWidget() { + // TODO Auto-generated method stub + return res; + } + } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java 2008-08-19 03:44:44 UTC (rev 3825) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java 2008-08-19 03:46:23 UTC (rev 3826) @@ -5,36 +5,42 @@ import java.awt.Graphics2D; import java.awt.Point; import java.awt.Rectangle; +import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; +import java.awt.image.BufferedImage; +import java.util.HashMap; +import java.util.Map; import javax.swing.JComponent; -import javax.swing.JFrame; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.SwingUtilities; import org.fudaa.ctulu.CtuluResource; +import org.fudaa.ctulu.image.CtuluLibImage; import org.fudaa.ebli.courbe.EGConfigureActionPalette; import org.fudaa.ebli.courbe.EGFillePanel; import org.fudaa.ebli.courbe.EGGraphe; import org.fudaa.ebli.visuallibrary.EbliNodeDefault; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.EbliWidget; -import org.fudaa.ebli.visuallibrary.calque.EditCreator; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetEditCreator; import org.netbeans.api.visual.action.ActionFactory; import org.netbeans.api.visual.action.EditProvider; import org.netbeans.api.visual.action.PopupMenuProvider; import org.netbeans.api.visual.action.WidgetAction; import org.netbeans.api.visual.widget.Widget; +import com.memoire.fu.FuLog; /** * widget qui contient un objet graphe + * * @author adrien hadoux - * + * */ public class EbliWidgetGraphe extends EbliWidget implements EditProvider/* * , @@ -44,165 +50,145 @@ * > */{ - private EGGraphe graphe; - JFrame frame_; - EditCreator editor_; - EGFillePanel panelGraphe_; - - private EbliNodeDefault nodeLegende=null; - - public Color couleurContour=Color.black; - public Color couleurFond=Color.white; - - public EGGraphe getGraphe() { - return graphe; - } + // private EGGraphe graphe_; + Window frame_; + EGFillePanel panelGraphe_; - public void setGraphe(EGGraphe graphe) { - this.graphe = graphe; - } + private EbliNodeDefault nodeLegende = null; - public EbliWidgetGraphe(EbliScene scene, Point preferredLocation, EGGraphe _graphe) { - super(scene); - // TODO Auto-generated constructor stub - setGraphe(_graphe); - - editor_ = EditCreator.INSTANCE; - panelGraphe_=new EGFillePanel(_graphe); - //-- creation de l action pour editor --// + public Color couleurContour = Color.black; + public Color couleurFond = Color.white; + + public EGGraphe getGraphe() { + return panelGraphe_.getGraphe(); + } + + // + // public void setGraphe(EGGraphe graphe) { + // this.graphe_ = graphe; + // } + + public EbliWidgetGraphe(EbliScene scene, Point preferredLocation, EGFillePanel _pn) { + super(scene); + panelGraphe_ = _pn; + WidgetAction editorAction = ActionFactory.createEditAction(this); + + // -- ajout de l action au widget correspondant --// + this.getActions().addAction(editorAction); + } + + public EbliWidgetGraphe(EbliScene scene, Point preferredLocation, EGGraphe _graphe) { + this(scene, preferredLocation, new EGFillePanel(_graphe)); + // -- creation de l action pour editor --// // WidgetAction editorAction = // ActionFactory.createInplaceEditorAction(this); - WidgetAction editorAction = ActionFactory.createEditAction(this); - - // -- ajout de l action au widget correspondant --// - this.getActions().addAction(editorAction); - - } + } - - protected void paintWidget() { - Rectangle rec = getClientArea(); - Graphics2D g = getGraphics(); - //-- couleur de fond --// + BufferedImage image; + + protected void paintWidget() { + Rectangle rec = getClientArea(); + Graphics2D g = getGraphics(); + g.translate(rec.x, rec.y); + + if (frame_ == null) { + getGraphe().setSize(rec.width - 1, rec.height - 1); +// getGraphe().computeMarges(g); +// getGraphe().dessine(g, rec.width - 1, rec.height - 1, false); + } + + // mode edition + if (image == null || image.getWidth() != rec.width || image.getHeight() != rec.height) { + FuLog.debug("EWI: recreate image"); + Map params = new HashMap(); + CtuluLibImage.setCompatibleImageAsked(params); + // a ameliorer: il ne faudrait pas recreer l'image a chaque fois + image = getGraphe().produceImage(rec.width, rec.height, params); + + } + g.drawImage(image, rec.x, rec.y, rec.width, rec.height, null); + // -- couleur de fond --// // g.setColor(couleurFond); // g.fillRect(0, 0, rec.width, rec.height); - - // BufferedImage image = courbe.produceImage( - // rec.width - 1, rec.height - 1, - // Collections.EMPTY_MAP); - g.translate(rec.x, rec.y); - graphe.setSize(rec.width - 1, - rec.height - 1); - graphe.computeMarges(g); - - graphe.dessine(g, rec.width - 1, - rec.height - 1, false ); - } - - - /** - * Surcharge de la creation du menu de base en ajoutant les menus specifiques - */ - public void setMenu() { - getActions ().addAction (ActionFactory.createPopupMenuAction (new PopupMenuProvider() { - public JPopupMenu getPopupMenu (Widget widget, Point localLocation) { - JPopupMenu popup = new JPopupMenu (); + // BufferedImage image = courbe.produceImage( + // rec.width - 1, rec.height - 1, + // Collections.EMPTY_MAP); - //-- creation du menu commun a tous les widgets - constructPopupMenuBase(popup); - - //-- Menu sp\xF6cifiques a l'application--// - constructPopupMenuSpecifique(popup); - return popup; - } - })); - } - - /** - * ajoutant la possibilit\xE9 de configurer la courbe ainsi que la l\xE9gende - * @param _popup - */ - private void constructPopupMenuSpecifique(JPopupMenu _popup){ - JMenuItem menuItem = _popup.add("Ajouter la l\xE9gende"); - menuItem.setIcon(CtuluResource.CTULU.getIcon("crystal22_commentaire")); - menuItem.addActionListener(new ActionListener(){ + g.translate(-rec.x, -rec.y); + } - public void actionPerformed(ActionEvent e) { + /** + * Surcharge de la creation du menu de base en ajoutant les menus specifiques + */ + public void setMenu() { + getActions().addAction(ActionFactory.createPopupMenuAction(new PopupMenuProvider() { + public JPopupMenu getPopupMenu(Widget widget, Point localLocation) { + JPopupMenu popup = new JPopupMenu(); - //-- creation de la l\xE9gende --// - if(EbliWidgetGraphe.this.getEbliScene()!=null){ - - //position a cote de la widget graphe - Point nouvellePosition=new Point((int)(EbliWidgetGraphe.this.getLocation().x),(int)(EbliWidgetGraphe.this.getLocation().y+EbliWidgetGraphe.this.getBounds().height*1.2)); + // -- creation du menu commun a tous les widgets + constructPopupMenuBase(popup); - //getScene_().addChild(new EbliWidget(getScene_(),null)); - //addChild (WidgetLegendeManager.createLegende(GrapheWidget.this.getGraphe(), GrapheWidget.this.getScene_(),null)); - if(!EbliWidgetGraphe.this.getEbliScene().isObject(nodeLegende)){ - - //-- creation d'un node legende --// - nodeLegende = new EbliNodeDefault(); - - nodeLegende.setCreator(new EbliWidgetCreatorLegende(getGraphe())); - nodeLegende.setPreferedLocation(nouvellePosition); - nodeLegende.setPreferedSize(new Dimension(100, 100)); - EbliWidgetGraphe.this.getEbliScene().addNode(nodeLegende); - - //widgetLegende=WidgetLegendeManager.createLegende(EbliWidgetGraphe.this.getGraphe(), EbliWidgetGraphe.this.getScene_(),nouvellePosition); - - } - - //GrapheWidget.this.addChild(widgetLegende); - } - } + // -- Menu sp\xF6cifiques a l'application--// + constructPopupMenuSpecifique(popup); + return popup; + } + })); + } - }); + /** + * ajoutant la possibilit\xE9 de configurer la courbe ainsi que la l\xE9gende + * + * @param _popup + */ + private void constructPopupMenuSpecifique(JPopupMenu _popup) { + JMenuItem menuItem = _popup.add("Ajouter la l\xE9gende"); + menuItem.setIcon(CtuluResource.CTULU.getIcon("crystal22_commentaire")); + menuItem.addActionListener(new ActionListener() { - - //-- creation du menu config de la courbe - _popup.add(new EGConfigureActionPalette(graphe.getModel())); + public void actionPerformed(ActionEvent e) { - - - } + // -- creation de la l\xE9gende --// + if (EbliWidgetGraphe.this.getEbliScene() != null) { - - //-- methodes implements InplaceEditorProvider --// - - /** - * Methode appeleee pour creer un editor EGFillePanel correspondant a la vue - */ - // public /*EGFillePanel*/ BuPanel createEditorComponent( - // org.netbeans.api.visual.action.InplaceEditorProvider.EditorController - // controller, - // Widget widget) { - // - // //-- creation du menu d'actions--// - // final JMenu menu = new JMenu(); - // menu.setName("menu du graphe"); - // menu.setText("menu du graphe"); - // // creation du panel Egfille correspondant - // final EGFillePanel panelGraphe=new EGFillePanel(this.graphe); - // new CtuluPopupListener(new CtuluPopupListener.PopupReceiver() { - // - // public void popup(MouseEvent _evt) { - // panelGraphe.popupMenu(_evt.getX(), _evt.getY()); - // - // } - // },panelGraphe); - // - // //--remplissage du menu --// - // panelGraphe.fillSpecificMenu(menu); - // - // //FIXME : comment construire le Jmenu principal ainsi que le tree qui - // qffiche les courbes ??? - // - // - // return panelGraphe; - // } - - public void edit(Widget _widget) { + // position a cote de la widget graphe + Point nouvellePosition = new Point((int) (EbliWidgetGraphe.this.getLocation().x), + (in... [truncated message content] |
From: <de...@us...> - 2008-08-19 03:44:34
|
Revision: 3825 http://fudaa.svn.sourceforge.net/fudaa/?rev=3825&view=rev Author: deniger Date: 2008-08-19 03:44:44 +0000 (Tue, 19 Aug 2008) Log Message: ----------- Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ctulu/lib/skinlf.jar Property changes on: branches/Prepro-0.92-SNAPSHOT/ctulu/lib/skinlf.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2008-08-18 16:11:34
|
Revision: 3824 http://fudaa.svn.sourceforge.net/fudaa/?rev=3824&view=rev Author: hadouxad Date: 2008-08-18 16:11:37 +0000 (Mon, 18 Aug 2008) Log Message: ----------- - Duplication des graphes ok - Edition des graphes ok - Mise a jour prises en compte lors de la modification dans la Frame Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeVertical.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheDuplicator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -345,7 +345,12 @@ */ public EGAxeHorizontal duplicate() { - return new EGAxeHorizontal(this); + + EGAxeHorizontal duplic = new EGAxeHorizontal(this); + duplic.setFont(new Font(this.getFont().getFamily(),this.getFont().getStyle(),this.getFont().getSize())); + duplic.setTitre(this.getTitre()); + + return duplic; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeVertical.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeVertical.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeVertical.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -281,6 +281,7 @@ r += fm.getHeight() + 1; } else { final String axeTexte = getAxeTexte(); + System.err.println("HYAYHAH: axeTexte=" + axeTexte); final int wT = fm.stringWidth(axeTexte) + 4; // Le titre recouvre tout l'axe if (r < wT) { @@ -356,7 +357,11 @@ } public EGAxeVertical duplicate() { - return new EGAxeVertical(this); + EGAxeVertical duplic= new EGAxeVertical(this); + duplic.setFont(new Font(this.getFont().getFamily(),this.getFont().getStyle(),this.getFont().getSize())); + duplic.setTitre(this.getTitre()); + + return duplic; } } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -89,15 +89,35 @@ if (this.getModel() != null) duplic = new EGCourbeChild((EGGroup) newParent, this.getModel().duplicate()); else duplic = new EGCourbeChild((EGGroup) newParent, null); + + duplic.isVisible_ = this.isVisible_; duplic.displayTitleOnCurve_ = this.displayTitleOnCurve_; - duplic.font_ = new Font(this.font_.getFamily(), this.font_.getStyle(), this.font_.getSize()); + // if (this.font_ != null) + // duplic.font_ = new Font(this.font_.getFamily(), this.font_.getStyle(), + // this.font_.getSize()); + if (this.tbox_ != null) duplic.tbox_ = this.tbox_.duplicate(); // -- duplication du egCourbeSurfacePainter --// - duplic.surfacePainter_ = this.surfacePainter_.duplicate(); + duplic.surfacePainter_ = this.surfacePainter_.duplicate(duplic, _duplicator); + //-- aspect couleur contour+surface de la courbe --// + duplic.setAspectContour(this.getAspectContour()); + duplic.setAlpha(this.getAlpha()); + if(this.getFont()!=null) + duplic.setFont(new Font(this.getFont().getFamily(),this.getFont().getStyle(),this.getFont().getSize())); + if (this.getIconModel() != null) + duplic.setIconeModel(this.getIconModel().cloneData()); + if (this.getMarkLigneModel() != null) + duplic.setLigneMark(this.getMarkLigneModel().buildCopy().getModel()); + if (this.getLigneModel() != null) + duplic.setLigneType(this.getLigneModel()); + duplic.setTitle(this.getTitle()); + + + return duplic; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -71,7 +71,7 @@ duplic.tbox_ = this.tbox_.duplicate(); // -- duplication du egCourbeSurfacePainter --// - duplic.surfacePainter_ = this.surfacePainter_.duplicate(); + duplic.surfacePainter_ = this.surfacePainter_.duplicate(duplic, _duplicator); return duplic; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -317,21 +317,29 @@ model_ = _model; } - public EGCourbeSurfacePainter duplicate(EGGrapheDuplicator _duplicator) { + public EGCourbeSurfacePainter duplicate(EGCourbe cibleDuplique, EGGrapheDuplicator _duplicator) { //TODO: targetCourbe_.duplicate() n'est pas dans le graphe. Il faut une Map avec les anciennes/nouvelles valeurs //pas bon la courbe va etre duplique ailleurs - EGCourbeSurfacePainter duplic = new EGCourbeSurfacePainter(this.targetCourbe_.duplicate(_duplicator), this.model_.duplicate(null)); + + // -- il ne faut pas oublier de changer la reference de la courvbe target + // qui est duplic et non this, de meme pour le model pour eviter des boucles + // infinies --// + + EGCourbeSurfacePainter duplic = new EGCourbeSurfacePainter(cibleDuplique, _duplicator.getModelDuplique_()); duplic.alpha_ = this.alpha_; + if (this.delegateCourbe_ != null) duplic.delegateCourbe_ = new DelegateCourbe(duplic.model_); + duplic.down_ = this.down_; duplic.maxIdx_ = this.maxIdx_; duplic.minIdx_ = this.minIdx_; + if (this.delegatePalier_ != null) duplic.delegatePalier_ = new DelegatePalier(((int) Math.floor(targetCourbe_.getYMin()))); + duplic.selectedPainter_ = this.selectedPainter_; - // painter.painter_= - duplic.setSelectedPainter(this.selectedPainter_); duplic.up_ = this.up_; - // painter.x_ = CtuluLibArray.copy(this.x_); + + // painter.x_ = CtuluLibArray.copy(this.x_); // painter.y_ = CtuluLibArray.copy(this.y_); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheDuplicator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheDuplicator.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheDuplicator.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -17,6 +17,22 @@ EGAxeHorizontal newH_; /** + * instance du eggrapheModel tres importante cette ref: envoye des la + * duplication du eggrapheModel a la base. Il est recupere notamment pour le + * EGCourbeSurfacePainter afin d eviter des stackoverflow de duplication du + * graphe model qui est deja duplique!!! . + */ + EGGrapheModel modelDuplique_; + + public EGGrapheModel getModelDuplique_() { + return modelDuplique_; + } + + public void setModelDuplique_(EGGrapheModel modelDuplique_) { + this.modelDuplique_ = modelDuplique_; + } + + /** * @param _vert l'axe a dupliquer * @return l'axe duplique en prenant soin de ne pas le recreer */ Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -771,6 +771,7 @@ EGGrapheSimpleModel duplic = new EGGrapheSimpleModel((EGCourbeSimple[]) listeElements.toArray()); //a corriger duplic.axeX_ = this.axeX_.duplicate(); + // duplication du listselectionModel // try { // duplic.selection_ = (DefaultListSelectionModel) this.selection_.clone(); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -1071,8 +1071,17 @@ duplic.axeX_ = this.axeX_.duplicate(); duplic.selectionModel_.setSelectionMode(this.selectionModel_.getSelectionMode()); + GrapheTreeNode root=this.getGrapheTreeNode(); + GrapheTreeNode rootDuplique=duplic.getGrapheTreeNode(); + for (int i = 0; i < root.components_.size(); i++) { + + // -- ajout du groupe duplique --// + duplic.add(root.getGroup(i).duplicate(_duplicator)); + } + + return duplic; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java 2008-08-18 14:10:54 UTC (rev 3823) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java 2008-08-18 16:11:37 UTC (rev 3824) @@ -116,7 +116,13 @@ final DefaultDockingPort globalPort = createDockingPort(); JComponent centerComponent = createView(pn, "Graphe"); DockingManager.dock(centerComponent, (DockingPort) globalPort); + + // -- ajout du tree associes au nodes du graphe --// JTree tree = new JTree((EGGrapheTreeModel) pn.getGraphe().getModel()); + // -- ajout du selectionlistener pour recuperer les events !! --// + tree.setSelectionModel(((EGGrapheTreeModel) pn.getGraphe().getModel()).getSelectionModel()); + tree.setRootVisible(false); + JComponent rightComponent = createView(new JScrollPane(tree), "arbre", true); DockingManager.dock(rightComponent, centerComponent, DockingConstants.EAST_REGION, 0.75f); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-08-18 14:10:45
|
Revision: 3823 http://fudaa.svn.sourceforge.net/fudaa/?rev=3823&view=rev Author: deniger Date: 2008-08-18 14:10:54 +0000 (Mon, 18 Aug 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheModel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGroup.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGRepere.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheDuplicator.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java 2008-08-18 13:33:11 UTC (rev 3822) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java 2008-08-18 14:10:54 UTC (rev 3823) @@ -244,7 +244,7 @@ protected abstract EGParent getEGParent(); - public abstract EGCourbe duplicate(); + public abstract EGCourbe duplicate(EGParent newParent,EGGrapheDuplicator _duplicator); protected Font getFont() { return font_; Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java 2008-08-18 13:33:11 UTC (rev 3822) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java 2008-08-18 14:10:54 UTC (rev 3823) @@ -14,7 +14,8 @@ import com.memoire.fu.FuLog; /** - * Cette Courbe suppose que tous les x du mod\xE8le sont rang\xE9es dans l'ordre croissant. + * Cette Courbe suppose que tous les x du mod\xE8le sont rang\xE9es dans l'ordre + * croissant. * * @author deniger * @version $Id: EGCourbeChild.java,v 1.8 2007-05-04 13:49:41 deniger Exp $ @@ -31,9 +32,6 @@ super(_model); parent_ = _m; } - - - boolean setYaxe(final EGAxeVertical _v) { FuLog.warning(new Throwable()); @@ -83,33 +81,24 @@ public void setParentGroup(final EGGroup _g) { parent_ = _g; } - - - public EGCourbe duplicate() { - + + public EGCourbe duplicate(EGParent newParent, EGGrapheDuplicator _duplicator) { + EGCourbeChild duplic = null; + if (this.getModel() != null) duplic = new EGCourbeChild((EGGroup) newParent, this.getModel().duplicate()); + else duplic = new EGCourbeChild((EGGroup) newParent, null); - - if (this.getModel() != null) - duplic = new EGCourbeChild(this.parent_.duplicate(), this.getModel().duplicate()); - else - duplic = new EGCourbeChild(this.parent_.duplicate(), null); - - duplic.isVisible_ = this.isVisible_; - - + duplic.displayTitleOnCurve_ = this.displayTitleOnCurve_; duplic.font_ = new Font(this.font_.getFamily(), this.font_.getStyle(), this.font_.getSize()); - duplic.tbox_ = this.tbox_.duplicate(); - - - // -- duplication du egCourbeSurfacePainter --// + duplic.tbox_ = this.tbox_.duplicate(); + + // -- duplication du egCourbeSurfacePainter --// duplic.surfacePainter_ = this.surfacePainter_.duplicate(); - + return duplic; } - } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java 2008-08-18 13:33:11 UTC (rev 3822) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java 2008-08-18 14:10:54 UTC (rev 3823) @@ -61,7 +61,7 @@ } @Override - public EGCourbe duplicate() { + public EGCourbe duplicate(EGParent newParent, EGGrapheDuplicator _duplicator) { EGCourbeSimple duplic = new EGCourbeSimple(this.v_.duplicate(), this.getModel().duplicate()); duplic.isVisible_ = this.isVisible_; Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java 2008-08-18 13:33:11 UTC (rev 3822) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java 2008-08-18 14:10:54 UTC (rev 3823) @@ -317,8 +317,10 @@ model_ = _model; } - public EGCourbeSurfacePainter duplicate() { - EGCourbeSurfacePainter duplic = new EGCourbeSurfacePainter(this.targetCourbe_.duplicate(), this.model_.duplicate()); + public EGCourbeSurfacePainter duplicate(EGGrapheDuplicator _duplicator) { + //TODO: targetCourbe_.duplicate() n'est pas dans le graphe. Il faut une Map avec les anciennes/nouvelles valeurs + //pas bon la courbe va etre duplique ailleurs + EGCourbeSurfacePainter duplic = new EGCourbeSurfacePainter(this.targetCourbe_.duplicate(_duplicator), this.model_.duplicate(null)); duplic.alpha_ = this.alpha_; duplic.delegateCourbe_ = new DelegateCourbe(duplic.model_); duplic.down_ = this.down_; Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java 2008-08-18 13:33:11 UTC (rev 3822) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java 2008-08-18 14:10:54 UTC (rev 3823) @@ -863,12 +863,14 @@ } public EGGraphe duplicate() { - - EGGraphe duplic = new EGGraphe(this.getModel().duplicate()); + EGGrapheDuplicator duplicator=new EGGrapheDuplicator(); + EGGraphe duplic = new EGGraphe(this.getModel().duplicate(duplicator)); duplic.autoRestore_ = this.autoRestore_; duplic.cache_ = null; - duplic.cmd_ = this.cmd_; + //on ne partage pas les undo/redo + duplic.cmd_ = new CtuluCommandManager(); + //TODO: il y a soucis: les axes verticaux sont dupliqu\xE9 de partout et on n'a plus les ref // -- copie des axes --// if(this.axeOffset_!=null){ duplic.axeOffset_=new TObjectIntHashMap(); @@ -877,7 +879,7 @@ for (int i = 0; i < liste.length; i++) { int value = values[i]; EGAxeVertical axe = (EGAxeVertical) liste[i]; - duplic.axeOffset_.put(axe.duplicate(), value); + duplic.axeOffset_.put(duplicator.duplicateAxeV(axe), value); } } duplic.coeffLarger_=this.coeffLarger_; @@ -890,13 +892,13 @@ int cpt = 0; for (Iterator it = set.iterator(); it.hasNext();) { EGAxeVertical axe = (EGAxeVertical) it.next(); - duplic.objectInitAxe_.put(axe.duplicate(), vals[cpt++]); + duplic.objectInitAxe_.put(duplicator.duplicateAxeV(axe), vals[cpt++]); } } if (this.xRange_ != null) duplic.xRange_ = new CtuluRange(this.xRange_); if (this.transformer_ != null) - duplic.transformer_ = this.transformer_.duplicate(); + duplic.transformer_ = this.transformer_.duplicate(duplicator); if (this.xRangeSpecByUser_ != null) duplic.xRangeSpecByUser_ = new CtuluRange(this.xRangeSpecByUser_); Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheDuplicator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheDuplicator.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheDuplicator.java 2008-08-18 14:10:54 UTC (rev 3823) @@ -0,0 +1,50 @@ +package org.fudaa.ebli.courbe; + +import java.util.HashMap; +import java.util.Map; + +/** + * Permet de sauvegarder les axes deja duplique et de mettre \xE0 jour les + * r\xE9f\xE9rences + * + * @author deniger + * + */ +public class EGGrapheDuplicator { + + Map<EGAxeVertical, EGAxeVertical> oldNew_ = new HashMap<EGAxeVertical, EGAxeVertical>(); + EGAxeHorizontal oldH_; + EGAxeHorizontal newH_; + + /** + * @param _vert l'axe a dupliquer + * @return l'axe duplique en prenant soin de ne pas le recreer + */ + public EGAxeVertical duplicateAxeV(EGAxeVertical _vert) { + EGAxeVertical res = oldNew_.get(_vert); + if (res == null) { + res = _vert.duplicate(); + oldNew_.put(_vert, res); + } + return res; + } + + /** + * @param _vert l'axe horizontal a dupliquer. On suppose qu'il n'y a qu'un + * seul axe h. + * @return l'axe duplique + */ + public EGAxeHorizontal duplicateAxeH(EGAxeHorizontal _vert){ + if(oldH_!=null && _vert!=oldH_){ + //est-ce necessaire... + throw new IllegalArgumentException(" un seul axe horizontal par graphe"); + } + + if(newH_==null) { + oldH_=_vert; + newH_=oldH_.duplicate(); + } + return newH_; + + } +} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheModel.java 2008-08-18 13:33:11 UTC (rev 3822) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheModel.java 2008-08-18 14:10:54 UTC (rev 3823) @@ -143,7 +143,8 @@ /** * methode qui permet de dupliquer les models de courbe + * @param _duplicator TODO */ - public EGGrapheModel duplicate(); + public EGGrapheModel duplicate(EGGrapheDuplicator _duplicator); } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java 2008-08-18 13:33:11 UTC (rev 3822) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java 2008-08-18 14:10:54 UTC (rev 3823) @@ -756,33 +756,35 @@ } - public EGGrapheModel duplicate() { + //TODO a reprendre + public EGGrapheModel duplicate(EGGrapheDuplicator _duplicator) { //--duplication de la liste des courbes --// - ArrayList<EGCourbeSimple> listeElements = new ArrayList<EGCourbeSimple>(); + ArrayList<EGCourbeSimple> listeElements = new ArrayList<EGCourbeSimple>(element_.size()); for (Iterator<EGCourbeSimple> it = this.element_.iterator(); it.hasNext();) { EGCourbeSimple courbe = it.next(); - listeElements.add((EGCourbeSimple) courbe.duplicate()); + listeElements.add((EGCourbeSimple) courbe.duplicate(this,_duplicator)); } EGGrapheSimpleModel duplic = new EGGrapheSimpleModel((EGCourbeSimple[]) listeElements.toArray()); - + //a corriger duplic.axeX_ = this.axeX_.duplicate(); // duplication du listselectionModel - try { - duplic.selection_ = (DefaultListSelectionModel) this.selection_.clone(); - } catch (CloneNotSupportedException e) { - +// try { +// duplic.selection_ = (DefaultListSelectionModel) this.selection_.clone(); +// } catch (CloneNotSupportedException e) { + //TODO cela suffit bien // -- si ce n'est pas duplicable, en cree un par defaut --// duplic.selection_ = new DefaultListSelectionModel(); - } +// } // -- pas besoin de dupliquer le tableModel, il ne fait que gerer la liste // elements --// - duplic.tableModel_ = new SimpleTableModel(); + //FRED ok +// duplic.tableModel_ = new SimpleTableModel(); return duplic; Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java 2008-08-18 13:33:11 UTC (rev 3822) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java 2008-08-18 14:10:54 UTC (rev 3823) @@ -1064,7 +1064,9 @@ internFireCourbeChanged((EGObject) _path.getLastPathComponent()); } - public EGGrapheModel duplicate() { + + //TODO il faut dupliquer tous les groupes + public EGGrapheModel duplicate(EGGrapheDuplicator _duplicator) { EGGrapheTreeModel duplic = new EGGrapheTreeModel(); duplic.axeX_ = this.axeX_.duplicate(); duplic.selectionModel_.setSelectionMode(this.selectionModel_.getSelectionMode()); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGroup.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGroup.java 2008-08-18 13:33:11 UTC (rev 3822) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGroup.java 2008-08-18 14:10:54 UTC (rev 3823) @@ -46,13 +46,12 @@ super(); comp_ = new ArrayList(10); } - - public EGGroup(List l) { - super(); - comp_ = l; - } - + // public EGGroup(List l) { + // super(); + // comp_ = l; + // } + private EGParent.TreeNodes getEgParent() { return n_; } @@ -74,17 +73,13 @@ } public boolean canDescendre(final EGObject _o) { - if (comp_.size() <= 1) { - return false; - } + if (comp_.size() <= 1) { return false; } final int idx = comp_.indexOf(_o); return idx >= 0 && idx < comp_.size() - 1; } public boolean canMonter(final EGObject _o) { - if (comp_.size() <= 1) { - return false; - } + if (comp_.size() <= 1) { return false; } return comp_.indexOf(_o) > 0; } @@ -104,9 +99,7 @@ * @param _idx l'indice d'ajout */ public void addEGComponent(final EGCourbeChild _i, final int _idx) { - if (comp_.contains(_i)) { - return; - } + if (comp_.contains(_i)) { return; } if (_i.getParentGroup() != null) { _i.getParentGroup().removeEGComponent(_i); } @@ -130,9 +123,7 @@ } public boolean ajuste(final CtuluRange _x, final CtuluRange _y) { - if (comp_.size() == 0) { - return false; - } + if (comp_.size() == 0) { return false; } boolean r = false; for (final Iterator it = comp_.iterator(); it.hasNext();) { final EGCourbeChild c = (EGCourbeChild) it.next(); @@ -144,9 +135,7 @@ } public boolean ajusteX(final CtuluRange _x) { - if (comp_.size() == 0) { - return false; - } + if (comp_.size() == 0) { return false; } boolean r = false; for (final Iterator it = comp_.iterator(); it.hasNext();) { final EGCourbeChild c = (EGCourbeChild) it.next(); @@ -158,9 +147,7 @@ } public boolean ajusteY(final CtuluRange _y) { - if (comp_.size() == 0) { - return false; - } + if (comp_.size() == 0) { return false; } boolean r = false; for (final Iterator it = comp_.iterator(); it.hasNext();) { final EGCourbeChild c = (EGCourbeChild) it.next(); @@ -199,9 +186,7 @@ } public void dessine(final Graphics2D _g, final EGRepere _f) { - if (!isVisible_ || !isAtLeastOneObjectVisible()) { - return; - } + if (!isVisible_ || !isAtLeastOneObjectVisible()) { return; } final Color old = _g.getColor(); _g.setColor(Color.black); final int nbElement = this.comp_.size(); @@ -360,7 +345,8 @@ if (Double.isNaN(x.max_)) { x.max_ = 0; /* - * if (x.min == x.max) { if (x.min != 0) { x.min = x.min * 0.9; x.max = x.max * 1.1; } else { x.max = 1; } } + * if (x.min == x.max) { if (x.min != 0) { x.min = x.min 0.9; x.max = + * x.max 1.1; } else { x.max = 1; } } */ } } else { @@ -386,16 +372,15 @@ x.max_ = 0; } /* - * if (x.min == x.max) { if (x.min != 0) { x.min = x.min * 0.9; x.max = x.max * 1.1; } else { x.max = 1; } } + * if (x.min == x.max) { if (x.min != 0) { x.min = x.min 0.9; x.max = x.max + * 1.1; } else { x.max = 1; } } */ return x; } public boolean isAtLeastOneObjectVisible() { for (int i = getChildCount() - 1; i >= 0; i--) { - if (getCourbe(i).isVisible_) { - return true; - } + if (getCourbe(i).isVisible_) { return true; } } return false; } @@ -454,9 +439,7 @@ * @param _i la courbe a enelever */ public void removeEGComponent(final EGCourbeChild _i) { - if (!comp_.contains(_i)) { - return; - } + if (!comp_.contains(_i)) { return; } comp_.remove(_i); _i.setParentGroup(null); } @@ -464,9 +447,7 @@ public void removeEGComponent(final List _list) { for (final Iterator it = _list.iterator(); it.hasNext();) { final EGCourbeChild i = (EGCourbeChild) it.next(); - if (!comp_.contains(i)) { - return; - } + if (!comp_.contains(i)) { return; } comp_.remove(i); i.setParentGroup(null); } @@ -509,37 +490,24 @@ public String toString() { return EbliLib.getS("Groupe") + CtuluLibString.ESPACE + title_; } - - public EGGroup duplicate() { - - - //-- duplication de comp --// - - ArrayList liste = new ArrayList(this.comp_.size()); - for(Iterator it=this.comp_.iterator();it.hasNext();){ - Object item=it.next(); - if (item instanceof EGCourbeChild) { - - // -- !!! reccurence !!! egcourbechild se duplique provoquqnt la - // duplication de eggroup et ainsi de suite --// - liste.add(((EGCourbeChild) item).duplicate()); - }else - // FIXME: adrien si c est pas instance de egcourbeChild, c estquoi ??? - // dans ce cas on duplique ?? - liste.add(item); - - } - + + // TODO a continuer + public EGGroup duplicate(EGGrapheDuplicator _duplicator) { + // -- duplication de l objet --// - EGGroup duplic = new EGGroup(liste); + EGGroup duplic = new EGGroup(); duplic.isVisible_ = this.isVisible_; duplic.title_ = this.title_; duplic.n_ = this.n_; duplic.y_ = this.y_.duplicate(); - - + for (Iterator it = this.comp_.iterator(); it.hasNext();) { + Object item = it.next(); + if (item instanceof EGCourbeChild) { + duplic.addEGComponent((EGCourbeChild)((EGCourbeChild) item).duplicate(duplic,_duplicator)); + } + + } + return duplic; } - - } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGRepere.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGRepere.java 2008-08-18 13:33:11 UTC (rev 3822) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGRepere.java 2008-08-18 14:10:54 UTC (rev 3823) @@ -115,7 +115,7 @@ } - public EGRepere duplicate() { + public EGRepere duplicate(EGGrapheDuplicator _duplicator) { EGRepere duplic = new EGRepere(); duplic.h_ = this.h_; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2008-08-18 13:33:04
|
Revision: 3822 http://fudaa.svn.sourceforge.net/fudaa/?rev=3822&view=rev Author: hadouxad Date: 2008-08-18 13:33:11 +0000 (Mon, 18 Aug 2008) Log Message: ----------- - Gestion des retaillage: - horizontal min et max - vertical min et max Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/CommandRetaillage.java branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillageHorizontal.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillageVertical.java Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillage.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/CommandRetaillage.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/CommandRetaillage.java 2008-08-18 13:07:12 UTC (rev 3821) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/CommandRetaillage.java 2008-08-18 13:33:11 UTC (rev 3822) @@ -16,10 +16,10 @@ public class CommandRetaillage implements CtuluCommand { List<Rectangle> oldRectangles; - Rectangle newRectangle; + List<Rectangle> newRectangle; java.util.List<EbliWidget> widgets_; - public CommandRetaillage(List<EbliWidget> listeWidget, List<Rectangle> oldRectangle, Rectangle newRectangle) { + public CommandRetaillage(List<EbliWidget> listeWidget, List<Rectangle> oldRectangle, List<Rectangle> newRectangle) { super(); this.widgets_ = listeWidget; this.newRectangle = newRectangle; @@ -49,7 +49,7 @@ if (nb == 0) return; for (int i = 0; i < nb; i++) { - widgets_.get(i).setPreferredBounds(newRectangle); + widgets_.get(i).setPreferredBounds(newRectangle.get(i)); } refreshScene(); Deleted: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillage.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillage.java 2008-08-18 13:07:12 UTC (rev 3821) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillage.java 2008-08-18 13:33:11 UTC (rev 3822) @@ -1,123 +0,0 @@ -package org.fudaa.ebli.visuallibrary.actions; - -import java.awt.Rectangle; -import java.awt.event.ActionEvent; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import org.fudaa.ctulu.CtuluCommandContainer; -import org.fudaa.ctulu.CtuluResource; -import org.fudaa.ebli.commun.EbliActionSimple; -import org.fudaa.ebli.ressource.EbliResource; -import org.fudaa.ebli.visuallibrary.EbliNode; -import org.fudaa.ebli.visuallibrary.EbliScene; -import org.fudaa.ebli.visuallibrary.EbliWidget; - -/** - * classe qui permet de redimensionnner les widgets selectionnes au min ou max - * selon choix du type dans le constructeur. - * - * @author genesis - * - */ -public class EbliWidgetActionRetaillage extends EbliActionSimple { - - public final static int RETAIILLAGE_MAX = 0; - public final static int RETAIILLAGE_MIN = 1; - - public int typeRetaillage_; - EbliScene scene_; - CtuluCommandContainer cmd_; - - public EbliWidgetActionRetaillage(EbliScene _scene, int _typeRetaillage) { - super(EbliResource.EBLI.getString("Premier plan"), CtuluResource.CTULU.getIcon("crystal_rangericones"), "FORGROUND"); - - // -- type retailage --// - typeRetaillage_ = _typeRetaillage; - - scene_ = _scene; - cmd_=_scene.getCmdMng(); - if (_typeRetaillage == RETAIILLAGE_MAX) { - putValue(NAME, "Resize max"); - setIcon(CtuluResource.CTULU.getIcon("crystal_rangericones")); - } else { - putValue(NAME, "Resize min"); - setIcon(CtuluResource.CTULU.getIcon("crystal_rangerpalettes")); - - } - } - - private static final long serialVersionUID = 1L; - - public void actionPerformed(ActionEvent e) { - // TODO Auto-generated method stub - - // -- recuperation de la liste des nodes de la scene --// - Set<EbliNode> listeNode = (Set<EbliNode>) scene_.getSelectedObjects(); - - //-- recherche du Min/Max selon choix constructeur --// - Iterator<EbliNode> it = listeNode.iterator(); - Rectangle tailleAresize = null; - if (it.hasNext()){ - tailleAresize = it.next().getCreator().getWidget().getPreferredBounds(); - for (; it.hasNext();) { - - EbliNode currentNode=it.next(); - - if(typeRetaillage_==RETAIILLAGE_MAX && currentNode.hasWidget()){ - if (tailleAresize.width < currentNode.getCreator().getWidget().getPreferredBounds().width - && tailleAresize.height < currentNode.getCreator().getWidget().getPreferredBounds().height) - tailleAresize = currentNode.getCreator().getWidget().getPreferredBounds(); - } else if(currentNode.hasWidget()){ - if (tailleAresize.width > currentNode.getCreator().getWidget().getPreferredBounds().width - && tailleAresize.height > currentNode.getCreator().getWidget().getPreferredBounds().height) - tailleAresize = currentNode.getCreator().getWidget().getPreferredBounds(); - } - } - } - - //-- si rien n est selectionne --// - if(tailleAresize==null) - return; - - - //-- recupere les anciennes color --// - List<Rectangle> oldRectangle = new ArrayList<Rectangle>(); - ; - //-- liste des widget selectionnees --// - java.util.List<EbliWidget> listeWidget=new ArrayList<EbliWidget>(); - - - // -- parcours des nodes - for (Iterator<EbliNode> it2 = listeNode.iterator(); it2.hasNext();) { - - - - EbliNode currentNode = it2.next(); - if (currentNode != null && currentNode.hasWidget()) { - - listeWidget.add(currentNode.getCreator().getWidget()); - oldRectangle.add(currentNode.getCreator().getWidget().getPreferredBounds()); - - // -- retaillage --// - currentNode.getCreator().getWidget().setPreferredBounds(tailleAresize); - - // -- rafraichissement de la scene --// - scene_.refresh(); - - - } - - } - //-- ajout de l action undo redo --// - - if (cmd_ != null) { - cmd_.addCmd(new CommandRetaillage(listeWidget, oldRectangle, tailleAresize)); - } - - - - } -} Copied: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillageHorizontal.java (from rev 3809, branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillage.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillageHorizontal.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillageHorizontal.java 2008-08-18 13:33:11 UTC (rev 3822) @@ -0,0 +1,126 @@ +package org.fudaa.ebli.visuallibrary.actions; + +import java.awt.Dimension; +import java.awt.Rectangle; +import java.awt.event.ActionEvent; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.CtuluResource; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.ebli.ressource.EbliResource; +import org.fudaa.ebli.visuallibrary.EbliNode; +import org.fudaa.ebli.visuallibrary.EbliScene; +import org.fudaa.ebli.visuallibrary.EbliWidget; + +/** + * classe qui permet de redimensionnner les widgets selectionnes au min ou max + * selon choix du type dans le constructeur. + * + * @author Adrien Hadoux + * + */ +public class EbliWidgetActionRetaillageHorizontal extends EbliActionSimple { + + public final static int RETAIILLAGE_MAX = 0; + public final static int RETAIILLAGE_MIN = 1; + + public int typeRetaillage_; + EbliScene scene_; + CtuluCommandContainer cmd_; + + public EbliWidgetActionRetaillageHorizontal(EbliScene _scene, int _typeRetaillage) { + super(EbliResource.EBLI.getString("Premier plan"), CtuluResource.CTULU.getIcon("crystal_rangericones"), "FORGROUND"); + + // -- type retailage --// + typeRetaillage_ = _typeRetaillage; + + scene_ = _scene; + cmd_=_scene.getCmdMng(); + if (_typeRetaillage == RETAIILLAGE_MAX) { + putValue(NAME, "Resize Horizontal Max"); + setIcon(EbliResource.EBLI.getToolIcon("aowidest")); + } else { + putValue(NAME, "Resize Horizontal Min"); + setIcon(CtuluResource.CTULU.getIcon("crystal_rangericones")); + + } + } + + private static final long serialVersionUID = 1L; + + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + + // -- recuperation de la liste des nodes de la scene --// + Set<EbliNode> listeNode = (Set<EbliNode>) scene_.getSelectedObjects(); + + //-- recherche du Min/Max selon choix constructeur --// + Iterator<EbliNode> it = listeNode.iterator(); + Rectangle tailleAresize = null; + if (it.hasNext()){ + tailleAresize = it.next().getCreator().getWidget().getPreferredBounds(); + for (; it.hasNext();) { + + EbliNode currentNode=it.next(); + + if(typeRetaillage_==RETAIILLAGE_MAX && currentNode.hasWidget()){ + if (tailleAresize.width < currentNode.getCreator().getWidget().getPreferredBounds().width) + tailleAresize = currentNode.getCreator().getWidget().getPreferredBounds(); + } else if(currentNode.hasWidget()){ + if (tailleAresize.width > currentNode.getCreator().getWidget().getPreferredBounds().width) + tailleAresize = currentNode.getCreator().getWidget().getPreferredBounds(); + } + } + } + + //-- si rien n est selectionne --// + if(tailleAresize==null) + return; + + + //-- recupere les anciennes color --// + List<Rectangle> oldRectangle = new ArrayList<Rectangle>(); + List<Rectangle> newRectangle = new ArrayList<Rectangle>(); + //-- liste des widget selectionnees --// + java.util.List<EbliWidget> listeWidget=new ArrayList<EbliWidget>(); + + + // -- parcours des nodes + for (Iterator<EbliNode> it2 = listeNode.iterator(); it2.hasNext();) { + + + + EbliNode currentNode = it2.next(); + if (currentNode != null && currentNode.hasWidget()) { + + listeWidget.add(currentNode.getCreator().getWidget()); + oldRectangle.add(currentNode.getCreator().getWidget().getPreferredBounds()); + + // -- retaillage --// + currentNode.getCreator().getWidget().setPreferredBounds( + new Rectangle(new Dimension(tailleAresize.width, + currentNode.getCreator().getWidget().getPreferredBounds().height))); + + newRectangle.add(currentNode.getCreator().getWidget().getPreferredBounds()); + + // -- rafraichissement de la scene --// + scene_.refresh(); + + + } + + } + //-- ajout de l action undo redo --// + + if (cmd_ != null) { + cmd_.addCmd(new CommandRetaillage(listeWidget, oldRectangle, newRectangle)); + } + + + + } +} Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillageHorizontal.java ___________________________________________________________________ Added: svn:mergeinfo + Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillageVertical.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillageVertical.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionRetaillageVertical.java 2008-08-18 13:33:11 UTC (rev 3822) @@ -0,0 +1,119 @@ +package org.fudaa.ebli.visuallibrary.actions; + +import java.awt.Dimension; +import java.awt.Rectangle; +import java.awt.event.ActionEvent; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.CtuluResource; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.ebli.ressource.EbliResource; +import org.fudaa.ebli.visuallibrary.EbliNode; +import org.fudaa.ebli.visuallibrary.EbliScene; +import org.fudaa.ebli.visuallibrary.EbliWidget; + +/** + * classe qui permet de redimensionnner les widgets selectionnes au min ou max + * selon choix du type dans le constructeur. + * + * @author Adrien Hadoux + * + */ +public class EbliWidgetActionRetaillageVertical extends EbliActionSimple { + + public final static int RETAIILLAGE_MAX = 0; + public final static int RETAIILLAGE_MIN = 1; + + public int typeRetaillage_; + EbliScene scene_; + CtuluCommandContainer cmd_; + + public EbliWidgetActionRetaillageVertical(EbliScene _scene, int _typeRetaillage) { + super(EbliResource.EBLI.getString("Premier plan"), CtuluResource.CTULU.getIcon("crystal_rangericones"), "FORGROUND"); + + // -- type retailage --// + typeRetaillage_ = _typeRetaillage; + + scene_ = _scene; + cmd_ = _scene.getCmdMng(); + if (_typeRetaillage == RETAIILLAGE_MAX) { + putValue(NAME, "Resize Vertical Max"); + setIcon(EbliResource.EBLI.getToolIcon("aotallest")); + } else { + putValue(NAME, "Resize Vertical Min"); + setIcon(CtuluResource.CTULU.getIcon("crystal_rangerpalettes")); + + } + } + + private static final long serialVersionUID = 1L; + + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + + // -- recuperation de la liste des nodes de la scene --// + Set<EbliNode> listeNode = (Set<EbliNode>) scene_.getSelectedObjects(); + + // -- recherche du Min/Max selon choix constructeur --// + Iterator<EbliNode> it = listeNode.iterator(); + Rectangle tailleAresize = null; + if (it.hasNext()) { + tailleAresize = it.next().getCreator().getWidget().getPreferredBounds(); + for (; it.hasNext();) { + + EbliNode currentNode = it.next(); + + if (typeRetaillage_ == RETAIILLAGE_MAX && currentNode.hasWidget()) { + if (tailleAresize.height < currentNode.getCreator().getWidget().getPreferredBounds().height) + tailleAresize = currentNode.getCreator().getWidget().getPreferredBounds(); + } else if (currentNode.hasWidget()) { + if (tailleAresize.height > currentNode.getCreator().getWidget().getPreferredBounds().height) + tailleAresize = currentNode.getCreator().getWidget().getPreferredBounds(); + } + } + } + + // -- si rien n est selectionne --// + if (tailleAresize == null) + return; + + // -- recupere les anciennes color --// + List<Rectangle> oldRectangle = new ArrayList<Rectangle>(); + List<Rectangle> newRectangle = new ArrayList<Rectangle>(); + // -- liste des widget selectionnees --// + java.util.List<EbliWidget> listeWidget = new ArrayList<EbliWidget>(); + + // -- parcours des nodes + for (Iterator<EbliNode> it2 = listeNode.iterator(); it2.hasNext();) { + + EbliNode currentNode = it2.next(); + if (currentNode != null && currentNode.hasWidget()) { + + listeWidget.add(currentNode.getCreator().getWidget()); + oldRectangle.add(currentNode.getCreator().getWidget().getPreferredBounds()); + + // -- retaillage --// + currentNode.getCreator().getWidget().setPreferredBounds( + new Rectangle(new Dimension(currentNode.getCreator().getWidget().getPreferredBounds().width, + tailleAresize.height))); + + + newRectangle.add(currentNode.getCreator().getWidget().getPreferredBounds()); + // -- rafraichissement de la scene --// + scene_.refresh(); + + } + + } + // -- ajout de l action undo redo --// + + if (cmd_ != null) { + cmd_.addCmd(new CommandRetaillage(listeWidget, oldRectangle, newRectangle)); + } + + } +} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-18 13:07:12 UTC (rev 3821) +++ branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-18 13:33:11 UTC (rev 3822) @@ -60,7 +60,8 @@ import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionFont; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionForeGround; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionImageChooser; -import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillage; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageHorizontal; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageVertical; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActiontextEditor; import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorVueCalque; import org.fudaa.ebli.visuallibrary.creator.ShapeCreatorCircle; @@ -441,8 +442,10 @@ bar.add(new EbliWidgetActionColorBackground(scene)); - bar.add(new EbliWidgetActionRetaillage(scene, EbliWidgetActionRetaillage.RETAIILLAGE_MIN)); - bar.add(new EbliWidgetActionRetaillage(scene, EbliWidgetActionRetaillage.RETAIILLAGE_MAX)); + bar.add(new EbliWidgetActionRetaillageHorizontal(scene, EbliWidgetActionRetaillageHorizontal.RETAIILLAGE_MIN)); + bar.add(new EbliWidgetActionRetaillageHorizontal(scene, EbliWidgetActionRetaillageHorizontal.RETAIILLAGE_MAX)); + bar.add(new EbliWidgetActionRetaillageVertical(scene, EbliWidgetActionRetaillageVertical.RETAIILLAGE_MIN)); + bar.add(new EbliWidgetActionRetaillageVertical(scene, EbliWidgetActionRetaillageVertical.RETAIILLAGE_MAX)); bar.add(new EbliWidgetActionImageChooser(scene)); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-18 13:07:12 UTC (rev 3821) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-18 13:33:11 UTC (rev 3822) @@ -36,7 +36,8 @@ import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionDuplicate; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionForeGround; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionImageChooser; -import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillage; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageHorizontal; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillageVertical; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActiontextEditor; import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorVueCalque; import org.fudaa.ebli.visuallibrary.creator.ShapeCreatorCircle; @@ -355,11 +356,12 @@ init.add(null); // -- actions de retaillage min et max --// - init.add(new EbliWidgetActionRetaillage(getScene(), EbliWidgetActionRetaillage.RETAIILLAGE_MIN)); - init.add(new EbliWidgetActionRetaillage(getScene(), EbliWidgetActionRetaillage.RETAIILLAGE_MAX)); + init.add(new EbliWidgetActionRetaillageHorizontal(getScene(), EbliWidgetActionRetaillageHorizontal.RETAIILLAGE_MIN)); + init.add(new EbliWidgetActionRetaillageHorizontal(getScene(), EbliWidgetActionRetaillageHorizontal.RETAIILLAGE_MAX)); init.add(null); - - + init.add(new EbliWidgetActionRetaillageVertical(getScene(), EbliWidgetActionRetaillageVertical.RETAIILLAGE_MIN)); + init.add(new EbliWidgetActionRetaillageVertical(getScene(), EbliWidgetActionRetaillageVertical.RETAIILLAGE_MAX)); + init.add(null); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-08-18 13:07:02
|
Revision: 3821 http://fudaa.svn.sourceforge.net/fudaa/?rev=3821&view=rev Author: deniger Date: 2008-08-18 13:07:12 +0000 (Mon, 18 Aug 2008) Log Message: ----------- passage a 1.5 Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ant-properties.xml Modified: branches/Prepro-0.92-SNAPSHOT/ant-properties.xml =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ant-properties.xml 2008-08-18 11:41:45 UTC (rev 3820) +++ branches/Prepro-0.92-SNAPSHOT/ant-properties.xml 2008-08-18 13:07:12 UTC (rev 3821) @@ -60,7 +60,6 @@ <property file="${projet.dir}/ant.default.properties" /> <property name="java3d.jar.dir" location="${java.ext.dirs}" /> - <property name="jmf.jar.dir" location="${java.ext.dirs}" /> <property name="ctulu.javac.patterns" value="" /> <property name="ebli.javac.patterns" value="" /> @@ -74,8 +73,8 @@ <property name="build.compiler" value="modern" /> <property name="build.compiler.javac" value="modern" /> - <property name="build.compiler.target" value="1.4" /> - <property name="build.compiler.source" value="1.4" /> + <property name="build.compiler.target" value="1.5" /> + <property name="build.compiler.source" value="1.5" /> <property name="build.compiler.debug" value="on" /> <property name="build.compiler.debug.infos" value="lines,source" /> <property name="build.compiler.optimize" value="false" /> @@ -110,9 +109,6 @@ <fileset dir="${java3d.jar.dir}"> <include name="*.jar" /> </fileset> - <fileset dir="${jmf.jar.dir}"> - <include name="jmf.jar" /> - </fileset> </path> <path id="ctulu.classpath.id"> <path refid="lib.classpath.id" /> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2008-08-18 11:41:46
|
Revision: 3820 http://fudaa.svn.sourceforge.net/fudaa/?rev=3820&view=rev Author: hadouxad Date: 2008-08-18 11:41:45 +0000 (Mon, 18 Aug 2008) Log Message: ----------- Duplication des elements ci dessous: GRAPHES: methode duplicate( ) EGAxeHorizontal EGAxeVertical EGCourbe EGCourbeChild : utilise un objet surfacePainter_ EGGroup TraceBox EGCourbeSurfacePainter EGCourbeSimple: utilise un objet surfacePainter_ EGRepere MODELS: methode duplicate( ) EGModel EGCourbeModelDefault FudaaCourbeDefautModel FudaaCourbeTimeModel MvProfileCoordinatesModel TrTelemacBoundaryCourbeModel TrTelemacWeirCourbeModel EGGrapheModel EGGrapheSimpleModel EGGrapheTreeModel Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeVertical.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeModelDefault.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheModel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGroup.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGObject.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGRepere.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/trace/TraceBox.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeDefault.java branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaCourbeDefautModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaCourbeTimeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCoordinatesModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCourbeTime.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/telemac/TrTelemacBoundaryCourbeModel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/telemac/TrTelemacWeirCourbeModel.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeHorizontal.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -12,9 +12,6 @@ import java.awt.FontMetrics; import java.awt.Graphics2D; -import com.memoire.fu.Fu; -import com.memoire.fu.FuLog; - import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluNumberFormatDefault; import org.fudaa.ctulu.CtuluNumberFormatI; @@ -23,7 +20,10 @@ import org.fudaa.ctulu.iterator.NumberIntegerIterator; import org.fudaa.ctulu.iterator.TickIterator; +import com.memoire.fu.Fu; +import com.memoire.fu.FuLog; + /** * @author Fred Deniger * @version $Id: EGAxeHorizontal.java,v 1.17 2007-05-04 13:49:41 deniger Exp $ @@ -343,5 +343,10 @@ * public final void setIntegerStep(boolean _isIntegerStep){ isIntegerStep_ = _isIntegerStep; * if(axisIterator_!=null) axisIterator_=null; } */ + + public EGAxeHorizontal duplicate() { + return new EGAxeHorizontal(this); + } + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeVertical.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeVertical.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGAxeVertical.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -12,14 +12,14 @@ import java.awt.Graphics2D; import java.awt.geom.AffineTransform; -import com.memoire.fu.Fu; -import com.memoire.fu.FuLog; - import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluRange; import org.fudaa.ctulu.iterator.TickIterator; +import com.memoire.fu.Fu; +import com.memoire.fu.FuLog; + /** * @author Fred Deniger * @version $Id: EGAxeVertical.java,v 1.22 2007-05-04 13:49:41 deniger Exp $ @@ -354,5 +354,9 @@ } return false; } + + public EGAxeVertical duplicate() { + return new EGAxeVertical(this); + } } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -24,8 +24,6 @@ import javax.swing.SwingConstants; import javax.swing.tree.TreeNode; -import com.vividsolutions.jts.geom.Envelope; - import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibArray; import org.fudaa.ctulu.CtuluLibGeometrie; @@ -33,7 +31,6 @@ import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.CtuluRange; import org.fudaa.ctulu.gui.CtuluLibSwing; - import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.controle.BConfigurableComposite; import org.fudaa.ebli.controle.BConfigurableInterface; @@ -51,6 +48,8 @@ import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; +import com.vividsolutions.jts.geom.Envelope; + /** * Cette Courbe suppose que tous les x du mod\xE8le sont rang\xE9es dans l'ordre croissant. * @@ -244,6 +243,8 @@ } protected abstract EGParent getEGParent(); + + public abstract EGCourbe duplicate(); protected Font getFont() { return font_; @@ -856,5 +857,9 @@ public String toString() { return getTitle(); } + + + + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeChild.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -6,6 +6,7 @@ */ package org.fudaa.ebli.courbe; +import java.awt.Font; import java.util.Enumeration; import javax.swing.tree.TreeNode; @@ -30,6 +31,9 @@ super(_model); parent_ = _m; } + + + boolean setYaxe(final EGAxeVertical _v) { FuLog.warning(new Throwable()); @@ -79,5 +83,33 @@ public void setParentGroup(final EGGroup _g) { parent_ = _g; } + + + public EGCourbe duplicate() { + + EGCourbeChild duplic = null; + + + if (this.getModel() != null) + duplic = new EGCourbeChild(this.parent_.duplicate(), this.getModel().duplicate()); + else + duplic = new EGCourbeChild(this.parent_.duplicate(), null); + + + duplic.isVisible_ = this.isVisible_; + + + duplic.displayTitleOnCurve_ = this.displayTitleOnCurve_; + duplic.font_ = new Font(this.font_.getFamily(), this.font_.getStyle(), this.font_.getSize()); + duplic.tbox_ = this.tbox_.duplicate(); + + + // -- duplication du egCourbeSurfacePainter --// + duplic.surfacePainter_ = this.surfacePainter_.duplicate(); + + return duplic; + } + + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeModelDefault.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeModelDefault.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeModelDefault.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -11,7 +11,6 @@ import org.fudaa.ctulu.CtuluLibArray; import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.CtuluRange; - import org.fudaa.ebli.palette.BPaletteInfo.InfoData; /** @@ -206,4 +205,17 @@ public boolean setValues(final int[] _idx, final double[] _x, final double[] _y, final CtuluCommandContainer _cmd) { return false; } + + public EGModel duplicate() { + + EGCourbeModelDefault duplic = new EGCourbeModelDefault(this.x_, this.y_); + if (this.nom_ != null) + duplic.nom_ = this.nom_; + duplic.ymax_ = this.ymax_; + duplic.ymin_ = this.ymin_; + duplic.yrangeComute_ = this.yrangeComute_; + + + return duplic; + } } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSimple.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -7,9 +7,10 @@ */ package org.fudaa.ebli.courbe; +import java.awt.Font; + import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluListSelectionInterface; - import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.palette.BPaletteInfo.InfoData; @@ -58,4 +59,20 @@ public void setParent(final EGParent _eventDispatcher) { eventDispatcher_ = _eventDispatcher; } + + @Override + public EGCourbe duplicate() { + EGCourbeSimple duplic = new EGCourbeSimple(this.v_.duplicate(), this.getModel().duplicate()); + + duplic.isVisible_ = this.isVisible_; + + duplic.displayTitleOnCurve_ = this.displayTitleOnCurve_; + duplic.font_ = new Font(this.font_.getFamily(), this.font_.getStyle(), this.font_.getSize()); + duplic.tbox_ = this.tbox_.duplicate(); + + // -- duplication du egCourbeSurfacePainter --// + duplic.surfacePainter_ = this.surfacePainter_.duplicate(); + + return duplic; + } } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGCourbeSurfacePainter.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -16,7 +16,6 @@ import javax.swing.DefaultComboBoxModel; import org.fudaa.ctulu.CtuluLib; - import org.fudaa.ebli.commun.EbliLib; /** @@ -318,6 +317,28 @@ model_ = _model; } + public EGCourbeSurfacePainter duplicate() { + EGCourbeSurfacePainter duplic = new EGCourbeSurfacePainter(this.targetCourbe_.duplicate(), this.model_.duplicate()); + duplic.alpha_ = this.alpha_; + duplic.delegateCourbe_ = new DelegateCourbe(duplic.model_); + duplic.down_ = this.down_; + duplic.maxIdx_ = this.maxIdx_; + duplic.minIdx_ = this.minIdx_; + duplic.delegatePalier_ = new DelegatePalier(((int) Math.floor(targetCourbe_.getYMin()))); + duplic.selectedPainter_ = this.selectedPainter_; + // painter.painter_= + duplic.setSelectedPainter(this.selectedPainter_); + duplic.up_ = this.up_; + // painter.x_ = CtuluLibArray.copy(this.x_); + // painter.y_ = CtuluLibArray.copy(this.y_); + + + + return duplic; + + } + + protected int getAlpha() { return alpha_; } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGraphe.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -33,28 +33,27 @@ import javax.swing.JComponent; -import com.memoire.bu.BuLib; -import com.memoire.fu.FuLog; - import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluLibArray; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluRange; import org.fudaa.ctulu.image.CtuluImageProducer; import org.fudaa.ctulu.image.CtuluLibImage; - import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.palette.BPaletteInfo; import org.fudaa.ebli.repere.RepereMouseKeyController; import org.fudaa.ebli.repere.RepereMouseKeyTarget; +import com.memoire.bu.BuLib; +import com.memoire.fu.FuLog; + /** * @author Fred Deniger * @version $Id: EGGraphe.java,v 1.26 2007-05-22 14:19:04 deniger Exp $ */ public class EGGraphe extends JComponent implements ComponentListener, EGGrapheModelListener, RepereMouseKeyTarget, - CtuluImageProducer { +CtuluImageProducer { public static final Font DEFAULT_FONT = new Font("SansSerif", Font.PLAIN, 10); @@ -626,7 +625,7 @@ } public void setRapide(final boolean _b) { - // on ne fait rien + // on ne fait rien } public final void setUserXRange(final CtuluRange _rangeSpecByUser) { @@ -830,11 +829,11 @@ g2d.setColor(Color.WHITE); g2d.fillRect(0, 0, _w, _h); } - + if (getWidth() != _w || getHeight() != _h) { g2d.scale(CtuluLibImage.getRatio(_w, getWidth()), CtuluLibImage.getRatio(_h, getHeight())); } - + print(g2d); g2d.dispose(); i.flush(); @@ -863,4 +862,48 @@ } + public EGGraphe duplicate() { + + EGGraphe duplic = new EGGraphe(this.getModel().duplicate()); + duplic.autoRestore_ = this.autoRestore_; + duplic.cache_ = null; + duplic.cmd_ = this.cmd_; + + // -- copie des axes --// + if(this.axeOffset_!=null){ + duplic.axeOffset_=new TObjectIntHashMap(); + int[] values=this.axeOffset_.getValues(); + Object[] liste=this.axeOffset_.keys(); + for (int i = 0; i < liste.length; i++) { + int value = values[i]; + EGAxeVertical axe = (EGAxeVertical) liste[i]; + duplic.axeOffset_.put(axe.duplicate(), value); + } + } + duplic.coeffLarger_=this.coeffLarger_; + + if (this.objectInitAxe_ != null) { + duplic.objectInitAxe_ = new HashMap(); + + Set set = this.objectInitAxe_.keySet(); + Object[] vals = this.objectInitAxe_.values().toArray() ; + int cpt = 0; + for (Iterator it = set.iterator(); it.hasNext();) { + EGAxeVertical axe = (EGAxeVertical) it.next(); + duplic.objectInitAxe_.put(axe.duplicate(), vals[cpt++]); + } + } + if (this.xRange_ != null) + duplic.xRange_ = new CtuluRange(this.xRange_); + if (this.transformer_ != null) + duplic.transformer_ = this.transformer_.duplicate(); + if (this.xRangeSpecByUser_ != null) + duplic.xRangeSpecByUser_ = new CtuluRange(this.xRangeSpecByUser_); + + + + return duplic; +} + + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheModel.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheModel.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -12,7 +12,6 @@ import javax.swing.JComboBox; import org.fudaa.ctulu.CtuluCommandManager; - import org.fudaa.ebli.commun.EbliActionInterface; /** @@ -141,5 +140,10 @@ * @param _c la courbe a dupliquer */ void duplicateCourbe(CtuluCommandManager _mng, EGCourbe _c); + + /** + * methode qui permet de dupliquer les models de courbe + */ + public EGGrapheModel duplicate(); } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheSimpleModel.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -13,6 +13,7 @@ import java.awt.Component; import java.util.ArrayList; import java.util.Arrays; +import java.util.Iterator; import java.util.List; import javax.swing.AbstractListModel; @@ -23,15 +24,14 @@ import javax.swing.table.AbstractTableModel; import javax.swing.table.TableModel; -import com.memoire.bu.BuComboBox; - import org.fudaa.ctulu.CtuluCommand; import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluLibString; - import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.ebli.commun.EbliLib; +import com.memoire.bu.BuComboBox; + /** * @author Fred Deniger * @version $Id: EGGrapheSimpleModel.java,v 1.19 2007-05-04 13:49:42 deniger Exp $ @@ -756,4 +756,36 @@ } + public EGGrapheModel duplicate() { + + + //--duplication de la liste des courbes --// + ArrayList<EGCourbeSimple> listeElements = new ArrayList<EGCourbeSimple>(); + + for (Iterator<EGCourbeSimple> it = this.element_.iterator(); it.hasNext();) { + EGCourbeSimple courbe = it.next(); + listeElements.add((EGCourbeSimple) courbe.duplicate()); + } + + EGGrapheSimpleModel duplic = new EGGrapheSimpleModel((EGCourbeSimple[]) listeElements.toArray()); + + duplic.axeX_ = this.axeX_.duplicate(); + // duplication du listselectionModel + try { + duplic.selection_ = (DefaultListSelectionModel) this.selection_.clone(); + } catch (CloneNotSupportedException e) { + + // -- si ce n'est pas duplicable, en cree un par defaut --// + duplic.selection_ = new DefaultListSelectionModel(); + + } + + // -- pas besoin de dupliquer le tableModel, il ne fait que gerer la liste + // elements --// + duplic.tableModel_ = new SimpleTableModel(); + + + return duplic; + } + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGrapheTreeModel.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -29,16 +29,15 @@ import javax.swing.tree.TreePath; import javax.swing.tree.TreeSelectionModel; -import com.memoire.bu.BuComboBox; - import org.fudaa.ctulu.CtuluCommand; import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.gui.CtuluTreeComboboxModel; import org.fudaa.ctulu.gui.CtuluTreeComboboxRenderer; - import org.fudaa.ebli.commun.EbliActionInterface; +import com.memoire.bu.BuComboBox; + /** * @author Fred Deniger * @version $Id: EGGrapheTreeModel.java,v 1.14 2007-05-04 13:49:41 deniger Exp $ @@ -1065,4 +1064,14 @@ internFireCourbeChanged((EGObject) _path.getLastPathComponent()); } + public EGGrapheModel duplicate() { + EGGrapheTreeModel duplic = new EGGrapheTreeModel(); + duplic.axeX_ = this.axeX_.duplicate(); + duplic.selectionModel_.setSelectionMode(this.selectionModel_.getSelectionMode()); + + + + return duplic; + } + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGroup.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGroup.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGGroup.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -23,7 +23,6 @@ import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.CtuluRange; - import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.controle.BConfigurableInterface; import org.fudaa.ebli.controle.BSelecteurTextField; @@ -47,6 +46,12 @@ super(); comp_ = new ArrayList(10); } + + public EGGroup(List l) { + super(); + comp_ = l; + } + private EGParent.TreeNodes getEgParent() { return n_; @@ -504,5 +509,37 @@ public String toString() { return EbliLib.getS("Groupe") + CtuluLibString.ESPACE + title_; } + + public EGGroup duplicate() { + + + //-- duplication de comp --// + + ArrayList liste = new ArrayList(this.comp_.size()); + for(Iterator it=this.comp_.iterator();it.hasNext();){ + Object item=it.next(); + if (item instanceof EGCourbeChild) { + + // -- !!! reccurence !!! egcourbechild se duplique provoquqnt la + // duplication de eggroup et ainsi de suite --// + liste.add(((EGCourbeChild) item).duplicate()); + }else + // FIXME: adrien si c est pas instance de egcourbeChild, c estquoi ??? + // dans ce cas on duplique ?? + liste.add(item); + + } + + // -- duplication de l objet --// + EGGroup duplic = new EGGroup(liste); + duplic.isVisible_ = this.isVisible_; + duplic.title_ = this.title_; + duplic.n_ = this.n_; + duplic.y_ = this.y_.duplicate(); + + + return duplic; + } + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModel.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGModel.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -10,7 +10,6 @@ import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.collection.CourbeInterface; - import org.fudaa.ebli.palette.BPaletteInfo; /** @@ -182,5 +181,12 @@ * @param _selectedPt la s\xE9lection */ void fillWithInfo(final BPaletteInfo.InfoData _table, final CtuluListSelectionInterface _selectedPt); + + /** + * methode qui permet de dupliquer le model + * + * @return + */ + EGModel duplicate(); } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGObject.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGObject.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGObject.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -16,7 +16,6 @@ import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.CtuluRange; - import org.fudaa.ebli.controle.BConfigurePaletteTargetInterface; import org.fudaa.ebli.controle.BSelecteurTargetInterface; import org.fudaa.ebli.palette.BPaletteInfo; @@ -60,6 +59,8 @@ public abstract EGAxeVertical getAxeY(); + + public abstract EGAxeHorizontal getAxeX(); public abstract void monter(); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGRepere.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGRepere.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/courbe/EGRepere.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -114,4 +114,15 @@ return h_; } + + public EGRepere duplicate() { + + EGRepere duplic = new EGRepere(); + duplic.h_ = this.h_; + duplic.w_ = this.w_; + duplic.xAxe_ = this.xAxe_.duplicate(); + return duplic; + + } + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/trace/TraceBox.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/trace/TraceBox.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/trace/TraceBox.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -166,4 +166,21 @@ public void setVPosition(final int _position) { vPosition_ = _position; } + + public TraceBox duplicate() { + TraceBox duplic = new TraceBox(); + duplic.colorBoite_ = this.colorBoite_; + duplic.colorFond_ = this.colorFond_; + duplic.colorText_ = this.colorText_; + duplic.drawBox_ = this.drawBox_; + duplic.drawFond_ = this.drawFond_; + duplic.hMargin_ = this.hMargin_; + duplic.hPosition_ = this.hPosition_; + duplic.traceLigne_ = new TraceLigne(this.traceLigne_); + duplic.vMargin_ = this.vMargin_; + duplic.vPosition_ = this.vPosition_; + + return duplic; + } + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeDefault.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeDefault.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliNodeDefault.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -37,7 +37,8 @@ } else if (creator instanceof EbliWidgetCreatorDblFleche) { duplique.setCreator(new EbliWidgetCreatorDblFleche(((EbliWidgetCreatorDblFleche) getCreator()).getG())); } else if (creator instanceof EbliWidgetCreatorGraphe) { - duplique.setCreator(new EbliWidgetCreatorGraphe(((EbliWidgetCreatorGraphe) getCreator()).getGraphe())); + duplique + .setCreator(new EbliWidgetCreatorGraphe(((EbliWidgetCreatorGraphe) getCreator()).getGraphe().duplicate())); } else if (creator instanceof EbliWidgetCreatorVueCalque) { duplique.setCreator(new EbliWidgetCreatorVueCalque(((EbliWidgetCreatorVueCalque) getCreator()).getCalque())); } else if (creator instanceof EbliWidgetCreatorShape) { Modified: branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -459,7 +459,7 @@ bar.add(actionFont.getSizeFonts()); + - } } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaCourbeDefautModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaCourbeDefautModel.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaCourbeDefautModel.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -11,12 +11,9 @@ import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluListSelectionInterface; - import org.fudaa.dodico.mesure.EvolutionReguliereInterface; - import org.fudaa.ebli.courbe.EGModel; import org.fudaa.ebli.palette.BPaletteInfo.InfoData; - import org.fudaa.fudaa.commun.FudaaLib; /** @@ -158,4 +155,8 @@ public boolean setValues(final int[] _idx, final double[] _x, final double[] _y, final CtuluCommandContainer _cmd) { return false; } + + public EGModel duplicate() { + return new FudaaCourbeDefautModel(this.e_.getCopy(this.e_.getListener())); + } } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaCourbeTimeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaCourbeTimeModel.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/courbe/FudaaCourbeTimeModel.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -8,9 +8,9 @@ package org.fudaa.fudaa.commun.courbe; import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.CtuluLibArray; import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.CtuluRange; - import org.fudaa.ebli.courbe.EGModel; import org.fudaa.ebli.palette.BPaletteInfo.InfoData; @@ -192,4 +192,17 @@ yRange_ = null; } + public EGModel duplicate() { + FudaaCourbeTimeModel duplic = new FudaaCourbeTimeModel(this.time_); + if (this.yRange_ != null) + duplic.yRange_ = new CtuluRange(this.yRange_); + if(this.nom_!=null) + duplic.nom_ = nom_; + if (this.y_ != null) + duplic.y_ = CtuluLibArray.copy(y_); + + + return duplic; + } + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCoordinatesModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCoordinatesModel.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCoordinatesModel.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -10,10 +10,9 @@ import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.ProgressionInterface; - import org.fudaa.dodico.ef.operation.EfLineIntersectionsResultsBuilder; import org.fudaa.dodico.ef.operation.EfLineIntersectionsResultsI; - +import org.fudaa.ebli.courbe.EGModel; import org.fudaa.ebli.palette.BPaletteInfo.InfoData; /** @@ -179,4 +178,14 @@ public void fillWithInfo(final InfoData _table, final CtuluListSelectionInterface _selectedPt) {} + public EGModel duplicate() { + + MvProfileCoordinatesModel duplic = new MvProfileCoordinatesModel(this.res_, isX_); + duplic.title_ = this.title_; + duplic.ymax_ = this.ymax_; + duplic.ymin_ = this.ymin_; + + return duplic; + } + } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCourbeTime.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCourbeTime.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileCourbeTime.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -15,14 +15,13 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; -import com.memoire.bu.BuResource; - import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluVariable; - import org.fudaa.ebli.animation.EbliAnimationAdapterInterface; import org.fudaa.ebli.controle.BSelecteurListTimeTarget; +import com.memoire.bu.BuResource; + /** * @author fred deniger * @version $Id: MvProfileCourbeTime.java,v 1.6 2007-05-04 13:59:49 deniger Exp $ @@ -43,13 +42,16 @@ selection_.addListSelectionListener(this); } - MvProfileCourbe duplicate() { + public MvProfileCourbe duplicate() { final MvProfileCourbeTime res = new MvProfileCourbeTime((MvProfileCourbeGroup) getParent(), getM().duplicate(), time_); res.setAspectContour(getAspectContour()); res.getM().setTitle(getTitle() + CtuluLibString.ESPACE + BuResource.BU.getString("Copie")); return res; } + + + public void contentsChanged(final ListDataEvent _e) { updateTitle(); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/telemac/TrTelemacBoundaryCourbeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/telemac/TrTelemacBoundaryCourbeModel.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/telemac/TrTelemacBoundaryCourbeModel.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -8,13 +8,12 @@ package org.fudaa.fudaa.tr.telemac; import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.CtuluLibArray; import org.fudaa.ctulu.CtuluListSelectionInterface; - import org.fudaa.dodico.h2d.telemac.H2dTelemacBordParFrontiere; import org.fudaa.dodico.h2d.telemac.H2dTelemacBoundary; import org.fudaa.dodico.h2d.telemac.H2dTelemacBoundaryCondition; import org.fudaa.dodico.h2d.type.H2dVariableType; - import org.fudaa.ebli.courbe.EGCourbeModelDefault; import org.fudaa.ebli.courbe.EGModel; import org.fudaa.ebli.palette.BPaletteInfo.InfoData; @@ -247,4 +246,13 @@ public void fillWithInfo(final InfoData _table, final CtuluListSelectionInterface _selectedPt) {} + public EGModel duplicate() { + + return new TrTelemacBoundaryCourbeModel(this.nom_, this.fr_, this.b_, this.t_, + CtuluLibArray.copy(this.x_)); + + } + + + } \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/telemac/TrTelemacWeirCourbeModel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/telemac/TrTelemacWeirCourbeModel.java 2008-08-18 08:51:17 UTC (rev 3819) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/telemac/TrTelemacWeirCourbeModel.java 2008-08-18 11:41:45 UTC (rev 3820) @@ -8,12 +8,11 @@ package org.fudaa.fudaa.tr.telemac; import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.CtuluLibArray; import org.fudaa.ctulu.CtuluListSelectionInterface; - import org.fudaa.dodico.h2d.resource.H2dResource; import org.fudaa.dodico.h2d.telemac.H2dTelemacSeuil; import org.fudaa.dodico.h2d.telemac.H2dTelemacSeuilMng; - import org.fudaa.ebli.courbe.EGCourbeModelDefault; import org.fudaa.ebli.courbe.EGModel; import org.fudaa.ebli.palette.BPaletteInfo.InfoData; @@ -166,4 +165,8 @@ } public void fillWithInfo(final InfoData _table, final CtuluListSelectionInterface _selectedPt) {} + + public EGModel duplicate() { + return new TrTelemacWeirCourbeModel(this.i_, this.mng_, this.cote_, CtuluLibArray.copy(this.x_)); + } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fa...@us...> - 2008-08-18 08:51:08
|
Revision: 3819 http://fudaa.svn.sourceforge.net/fudaa/?rev=3819&view=rev Author: fargeix Date: 2008-08-18 08:51:17 +0000 (Mon, 18 Aug 2008) Log Message: ----------- Gestion du panneau d'affichage du r?\195?\169seau Modified Paths: -------------- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3DessinerPortFrame.java Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3DessinerPortFrame.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3DessinerPortFrame.java 2008-08-18 08:48:31 UTC (rev 3818) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3DessinerPortFrame.java 2008-08-18 08:51:17 UTC (rev 3819) @@ -188,7 +188,7 @@ } }; - initialisation_.setToolTipText("Permet de reinitialiser le dessin du port"); + initialisation_.setToolTipText("R\xE9initialiser la mod\xE9lisation du r\xE9seau"); initialisation_.addActionListener(listenerInit_); validation_.setToolTipText("Permet de generer un fichier PostScript a partir de la modelisation du port"); @@ -201,7 +201,7 @@ retour_.setToolTipText("Permet de revenir en rri\xE8re"); - validation2_.setToolTipText("Permet de generer une image png a partir de la modelisation du port"); + validation2_.setToolTipText("Exporter le dessin au format jpg"); validation2_.addActionListener(new ActionListener() { @@ -279,13 +279,15 @@ final JMenu menuFile = new JMenu("Fichier"); final JMenuItem menuFileExit = new JMenuItem("Quitter"); final JMenu menuOption = new JMenu("Affichage"); - final JMenuItem menuRafraichissement = new JMenuItem("rafraichir"); - final JMenuItem menuReinitialisation = new JMenuItem("r\xE9initialiser"); - menuaffichageNoms_ = new JMenuItem("masquer noms param\xE8tres"); + final JMenuItem menuRafraichissement = new JMenuItem("Rafraichir"); + final JMenuItem menuReinitialisation = new JMenuItem("R\xE9initialiser"); + menuaffichageNoms_ = new JMenuItem("Masquer les noms de param\xE8tres"); final JMenu menuInfo = new JMenu("A propos de"); - final JMenu menuGeneration = new JMenu("generation"); - final JMenuItem menuJpeg = new JMenuItem("fichier Jpeg"); + final JMenu menuGeneration = new JMenu("Export"); + final JMenuItem menuJpeg = new JMenuItem("Fichier image"); + + menuFile.add(menuFileExit); @@ -296,13 +298,18 @@ menuGeneration.add(menuJpeg); menuBar.add(menuFile); menuBar.add(menuOption); + menuBar.add(menuGeneration); menuBar.add(menuInfo); - menuBar.add(menuGeneration); setJMenuBar(menuBar); //-- listener des menus --// + menuFileExit.addActionListener(new ActionListener() { + public void actionPerformed(final ActionEvent e) { + Sinavi3DessinerPortFrame.this.windowClosed(); + } + }); menuRafraichissement.addActionListener(new ActionListener() { @@ -530,5 +537,10 @@ bigDataList.addMouseListener(mouseListener); } + + protected void windowClosed() { + System.out.print("Fin de la fenetre de mod\xE9lisation du r\xE9seau!!"); + dispose(); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fa...@us...> - 2008-08-18 08:48:22
|
Revision: 3818 http://fudaa.svn.sourceforge.net/fudaa/?rev=3818&view=rev Author: fargeix Date: 2008-08-18 08:48:31 +0000 (Mon, 18 Aug 2008) Log Message: ----------- G?\195?\169n?\195?\169ration d'un fichier HTML de rappel des donn?\195?\169es Modified Paths: -------------- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3GenereNoteHtml.java Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3GenereNoteHtml.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3GenereNoteHtml.java 2008-08-18 08:47:47 UTC (rev 3817) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3GenereNoteHtml.java 2008-08-18 08:48:31 UTC (rev 3818) @@ -398,9 +398,9 @@ return "<table width=\"100%\" border=0 bgcolor=\"#EEEEEEE\" bordercolor=\"000000\"><tr><td><H1><center><font color=\"#000000\">Rappel de donnees</font></center></H1></td></tr></table><br><br>" + "<table width=\"100%\" border=0 bgcolor=\"#EEEEEEE\" bordercolor=\"000000\"><tr><td><H1><center><font color=\"#000000\">"+titre+"</font></center></H1></td></tr></table><br><br>" + - "<H3>"+auteur+" </H3><br><br>" + - "<br><br> " +commentaire+ - "<br><br><br><br>"; + "<H3>"+auteur+" </H3><br>" + + "<br>" +commentaire+ + "<br><br>"; } @@ -430,8 +430,8 @@ _d.application_.activerModelisation(); _d.application_.gestionModelisation_.setVisible(false); - File file=new File((fichier)); - CtuluImageExport.exportImageFor(_d.application_,file, _d.application_.gestionModelisation_.panelDessin_); + File file=new File(fichier); + CtuluImageExport.exportImageFor(_d.application_, file, _d.application_.gestionModelisation_.panelDessin_); //fermeture de la fenetre de dessin This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fa...@us...> - 2008-08-18 08:47:39
|
Revision: 3817 http://fudaa.svn.sourceforge.net/fudaa/?rev=3817&view=rev Author: fargeix Date: 2008-08-18 08:47:47 +0000 (Mon, 18 Aug 2008) Log Message: ----------- G?\195?\169n?\195?\169ration des diff?\195?\169rentes donn?\195?\169es Modified Paths: -------------- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3FrameGenerationRappelDonnees.java Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3FrameGenerationRappelDonnees.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3FrameGenerationRappelDonnees.java 2008-08-18 08:46:55 UTC (rev 3816) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3FrameGenerationRappelDonnees.java 2008-08-18 08:47:47 UTC (rev 3817) @@ -64,11 +64,11 @@ */ JEditorPane htmlPane; - private final BuButton quitter_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_quitter"), "quitter"); + private final BuButton quitter_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_quitter"), "Quitter"); private final BuButton exportationHTML_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_generer"), "Exportation rapport"); private final BuButton choisirCouleur_ = new BuButton("couleur sommaire"); - private final BuButton aper\xE7u_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_previsualiser"),"aper\xE7u"); + private final BuButton aper\xE7u_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_previsualiser"),"Aper\xE7u"); /** * panel contenant les boutons de commande. */ @@ -89,24 +89,24 @@ JTextField titre_ = new JTextField(20); JTextArea ZoneText_ = new JTextArea(2, 30); - JCheckBox dg_ = new JCheckBox("inserer les donnees generales", true); - JCheckBox dgNbJ_ = new JCheckBox("nombre de jours de la simulation", true); - JCheckBox dgGraine_ = new JCheckBox("Graine d initialisation", true); + JCheckBox dg_ = new JCheckBox("Ins\xE9rer les donn\xE9es g\xE9n\xE9rales", true); + JCheckBox dgNbJ_ = new JCheckBox("Afficher le nombre de jours de la simulation", true); + JCheckBox dgGraine_ = new JCheckBox("Afficher la graine d'initialisation", true); - JCheckBox gare_ = new JCheckBox("inserer les gares", true); + JCheckBox gare_ = new JCheckBox("Ins\xE9rer les gares", true); - JCheckBox topo2_ = new JCheckBox("inserer les topologies biefs", true); + JCheckBox topo2_ = new JCheckBox("Ins\xE9rer les topologies des biefs", true); - JCheckBox topo4_ = new JCheckBox("inserer les topologies ecluses", true); - JCheckBox topo5_ = new JCheckBox("inserer le modele du reseau", true); + JCheckBox topo4_ = new JCheckBox("Ins\xE9rer les topologies des ecluses", true); + JCheckBox topo5_ = new JCheckBox("Ins\xE9rer le mod\xE8le du r\xE9seau", true); - JCheckBox regle1_ = new JCheckBox("inserer les regles de croisement biefs", true); - JCheckBox regle2_ = new JCheckBox("inserer les regles de trematage biefs", true); - JCheckBox regle3_ = new JCheckBox("inserer les vitesses bateaux dans les biefs", true); - JCheckBox regle4_ = new JCheckBox("inserer les durees de manoeuvres ecluses", true); + JCheckBox regle1_ = new JCheckBox("Ins\xE9rer les r\xE8gles de croisement des biefs", true); + JCheckBox regle2_ = new JCheckBox("Ins\xE9rer les r\xE8gles de trematage des biefs", true); + JCheckBox regle3_ = new JCheckBox("Ins\xE9rer les vitesses des bateaux dans les biefs", true); + JCheckBox regle4_ = new JCheckBox("Ins\xE9rer les dur\xE9es de manoeuvres dans les \xE9cluses", true); - JCheckBox nav_ = new JCheckBox("inserer les categories de bateaux", true); + JCheckBox nav_ = new JCheckBox("Ins\xE9rer les cat\xE9gories de bateaux", true); JCheckBox navPrio_ = new JCheckBox("priorite", true); JCheckBox navGare_ = new JCheckBox("gare de depart", true); JCheckBox navLong_ = new JCheckBox("longueur", true); @@ -116,12 +116,12 @@ JCheckBox navCr_ = new JCheckBox("creneaux", false); JCheckBox navVitesses_ = new JCheckBox("vitesses", false); - JCheckBox chenal_ = new JCheckBox("inserer les biefs", true); + JCheckBox chenal_ = new JCheckBox("Ins\xE9rer les biefs", true); JCheckBox chenalPro_ = new JCheckBox("Hauteur d'eau du bief", true); JCheckBox chenalMar_ = new JCheckBox("Vitesse autorisee", true); JCheckBox chenalCr_ = new JCheckBox("inserer les creneaux", true); - JCheckBox ecluse_ = new JCheckBox("inserer les ecluses", true); + JCheckBox ecluse_ = new JCheckBox("Ins\xE9rer les \xE9cluses", true); JCheckBox ecltaille_ = new JCheckBox("caracteristique de l ecluse", true); JCheckBox eclDur_ = new JCheckBox("duree d eclusee, fausse bassinnee", true); JCheckBox ecluseIndispo_ = new JCheckBox("les indisponibilites", true); @@ -157,42 +157,42 @@ DefaultMutableTreeNode categorie; DefaultMutableTreeNode feuille; // premiere categorie de l arbre - categorie = new DefaultMutableTreeNode("presentation"); + categorie = new DefaultMutableTreeNode("Pr\xE9sentation"); sommet.add(categorie); - categorie = new DefaultMutableTreeNode("g\xE9n\xE9ralit\xE9s"); + categorie = new DefaultMutableTreeNode("G\xE9n\xE9ralit\xE9s"); sommet.add(categorie); - categorie = new DefaultMutableTreeNode(" saisie"); + categorie = new DefaultMutableTreeNode("Saisie"); sommet.add(categorie); - feuille = new DefaultMutableTreeNode(" gares"); + feuille = new DefaultMutableTreeNode("Gares"); categorie.add(feuille); - feuille = new DefaultMutableTreeNode(" biefs"); + feuille = new DefaultMutableTreeNode("Biefs"); categorie.add(feuille); - feuille = new DefaultMutableTreeNode(" \xE9cluses"); + feuille = new DefaultMutableTreeNode("Ecluses"); categorie.add(feuille); - feuille = new DefaultMutableTreeNode(" cat\xE9gories de bateau"); + feuille = new DefaultMutableTreeNode("Cat\xE9gories de bateaux"); categorie.add(feuille); - categorie = new DefaultMutableTreeNode("topologie du reseau"); + categorie = new DefaultMutableTreeNode("Topologie du r\xE9seau"); sommet.add(categorie); - feuille = new DefaultMutableTreeNode("topologie biefs"); + feuille = new DefaultMutableTreeNode("Topologie des biefs"); categorie.add(feuille); - feuille = new DefaultMutableTreeNode("topologie \xE9cluses"); + feuille = new DefaultMutableTreeNode("Topologie des \xE9cluses"); categorie.add(feuille); - feuille = new DefaultMutableTreeNode("modele du reseau"); + feuille = new DefaultMutableTreeNode("Mod\xE8le du r\xE9seau"); categorie.add(feuille); - categorie = new DefaultMutableTreeNode("Regles de navigation"); + categorie = new DefaultMutableTreeNode("R\xE8gles de navigation"); sommet.add(categorie); - feuille = new DefaultMutableTreeNode("croisements biefs"); + feuille = new DefaultMutableTreeNode("Croisement dans les biefs"); categorie.add(feuille); - feuille = new DefaultMutableTreeNode("trematages biefs"); + feuille = new DefaultMutableTreeNode("Tr\xE9matage dans les biefs"); categorie.add(feuille); - feuille = new DefaultMutableTreeNode("vitesses biefs"); + feuille = new DefaultMutableTreeNode("Vitesse dans les biefs"); categorie.add(feuille); - feuille = new DefaultMutableTreeNode("durees manoeuvres ecluses"); + feuille = new DefaultMutableTreeNode("Dur\xE9es de manoeuvres dans les \xE9cluses"); categorie.add(feuille); arbre_.expandRow(0); @@ -211,9 +211,9 @@ /******************************************************************************************************************* * Affichage du panel de boutons ******************************************************************************************************************/ - this.quitter_.setToolTipText("cliquez sur ce bouton pour fermer la sous fen\xEAtre"); + this.quitter_.setToolTipText("Fermer la fen\xEAtre"); this.quitter_.addActionListener(this); - exportationHTML_.setToolTipText("permet de g\xE9n\xE9rer les donn\xE9es saisies au format HTML"); + exportationHTML_.setToolTipText("G\xE9n\xE9rer les donn\xE9es saisies au format HTML"); exportationHTML_.setEnabled(false); aper\xE7u_.setToolTipText("Aper\xE7u du rapport g\xE9n\xE9r\xE9 en html"); exportationHTML_.addActionListener(this); @@ -237,7 +237,7 @@ ******************************************************************************************************************/ // actualisation du panneau de donn\xE9es auteur_.setText("Inconnu"); - this.titre_.setText("simulation de traffic"); + this.titre_.setText("Simulation de trafic"); //conteneur.add(selectionPanel_); @@ -261,7 +261,7 @@ conteneur.setDividerLocation(210); conteneur.setDividerSize(1); this.getContentPane().add(conteneur, BorderLayout.CENTER); - actualiser("presentation"); + actualiser("Pr\xE9sentation"); } @@ -303,7 +303,7 @@ chenal_.addActionListener(this); ecluse_.addActionListener(this); - if (choix.equals("g\xE9n\xE9ralit\xE9s")) { + if (choix.equals("G\xE9n\xE9ralit\xE9s")) { //table.setLayout(new GridLayout(10, 1)); table.add(dg_); @@ -311,11 +311,11 @@ table.add(dgGraine_); bordurea = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), - "donn\xE9es g\xE9n\xE9rales"); + "Donn\xE9es g\xE9n\xE9rales"); table.setBorder(bordurea); - } else if (choix.equals("presentation"))// panel de selection des gares + } else if (choix.equals("Pr\xE9sentation")) { - titre = "presentation"; + titre = "Pr\xE9sentation"; //table.setLayout(new GridLayout(5, 1)); @@ -326,26 +326,27 @@ table2.add(new JLabel("Auteur:")); table2.add(this.auteur_); table.add(table2); - table3.add(new JLabel("Commentaitre:")); + table3.add(new JLabel("Commentaire:")); + ZoneText_.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED)); table3.add(ZoneText_); table.add(table3); bordurea = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), titre); table.setBorder(bordurea); - } else if (choix.equals(" gares"))// panel de selection des gares + } else if (choix.equals("Gares"))// panel de selection des gares { - titre = "parametres gares"; + titre = "Param\xE8tres gares"; //table.setLayout(new GridLayout(5, 1)); table.add(table1); table.add(table2); table.add(table3); table.add(table4); table.add(table5); - table1.add(gare_, BorderLayout.CENTER); + table1.add(gare_); bordurea = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), titre); table1.setBorder(bordurea); - } else if (choix.equals(" biefs")) { + } else if (choix.equals("Biefs")) { //table.setLayout(new GridLayout(10, 1)); table.add(chenal_); @@ -355,11 +356,11 @@ table.add(chenalCr_); */ bordurea = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), - "Parametres biefs"); + "Param\xE8tres biefs"); table.setBorder(bordurea); } else - if (choix.equals(" \xE9cluses")) { + if (choix.equals("Ecluses")) { //table.setLayout(new GridLayout(10, 1)); table.add(ecluse_); @@ -369,14 +370,14 @@ table.add(ecluseCr_); */ bordurea = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), - "Parametres \xE9cluses"); + "Param\xE8tres \xE9cluses"); table.setBorder(bordurea); } else - if (choix.equals("topologie biefs"))// panel de selection des gares + if (choix.equals("Topologie des biefs"))// panel de selection des gares { - titre = "topologie biefs"; + titre = "Topologie des biefs"; //table.setLayout(new GridLayout(5, 1)); table.add(table1); table.add(table2); @@ -387,9 +388,9 @@ bordurea = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), titre); table1.setBorder(bordurea); - } else if (choix.equals("topologie \xE9cluses"))// panel de selection des gares + } else if (choix.equals("Topologie des \xE9cluses"))// panel de selection des gares { - titre = "topologie \xE9cluses"; + titre = "Topologie des \xE9cluses"; //table.setLayout(new GridLayout(5, 1)); table.add(table1); table.add(table2); @@ -400,9 +401,9 @@ bordurea = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), titre); table1.setBorder(bordurea); - } else if (choix.equals("modele du reseau"))// panel de selection des gares + } else if (choix.equals("Mod\xE8le du r\xE9seau"))// panel de selection des gares { - titre = "modele du reseau"; + titre = "Mod\xE8le du r\xE9seau"; //table.setLayout(new GridLayout(5, 1)); table.add(table1); table.add(table2); @@ -413,9 +414,9 @@ bordurea = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), titre); table1.setBorder(bordurea); - } else if (choix.equals("trematages biefs"))// panel de selection des gares + } else if (choix.equals("Tr\xE9matage dans les biefs"))// panel de selection des gares { - titre = "trematage dans les biefs"; + titre = "Tr\xE9matage dans les biefs"; //table.setLayout(new GridLayout(5, 1)); table.add(table1); table.add(table2); @@ -426,9 +427,9 @@ bordurea = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), titre); table1.setBorder(bordurea); - } else if (choix.equals("croisements biefs"))// panel de selection des gares + } else if (choix.equals("Croisement dans les biefs"))// panel de selection des gares { - titre = "croisement dans les biefs"; + titre = "Croisement dans les biefs"; //table.setLayout(new GridLayout(5, 1)); table.add(table1); table.add(table2); @@ -439,9 +440,9 @@ bordurea = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), titre); table1.setBorder(bordurea); - } else if (choix.equals("durees manoeuvres ecluses"))// panel de selection des gares + } else if (choix.equals("Dur\xE9es de manoeuvres dans les \xE9cluses"))// panel de selection des gares { - titre = "dur\xE9e de manoeuvres dans les \xE9cluses"; + titre = "Dur\xE9es de manoeuvres dans les \xE9cluses"; //table.setLayout(new GridLayout(5, 1)); table.add(table1); table.add(table2); @@ -452,9 +453,9 @@ bordurea = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), titre); table1.setBorder(bordurea); - } else if (choix.equals("vitesses biefs"))// panel de selection des gares + } else if (choix.equals("Vitesse dans les biefs"))// panel de selection des gares { - titre = "vitesses dans les biefs"; + titre = "Vitesse dans les biefs"; //table.setLayout(new GridLayout(5, 1)); table.add(table1); table.add(table2); @@ -465,9 +466,9 @@ bordurea = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), titre); table1.setBorder(bordurea); - } else if (choix.equals(" cat\xE9gories de bateau")) { + } else if (choix.equals("Cat\xE9gories de bateaux")) { bordurea = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), - "Parametres cat\xE9gories de bateaux"); + "Param\xE8tres cat\xE9gories de bateaux"); table.setBorder(bordurea); //table.setLayout(new GridLayout(13, 1)); table.add(nav_); @@ -488,7 +489,7 @@ im = FudaaResource.FUDAA.getIcon("crystal_commentaire"); final JLabel image = new JLabel(im); l1.add(image); - l1.add(new JLabel("S\xE9lectionnez les parametres \xE0 faire figurer dans le rapport")); + l1.add(new JLabel("S\xE9lectionnez les param\xE8tres \xE0 faire figurer dans le rapport")); final JPanel l2 = new JPanel(); l2.add(new JLabel("puis cliquez sur le bouton d'exportation.")); aide.add(l1); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fa...@us...> - 2008-08-18 08:46:46
|
Revision: 3816 http://fudaa.svn.sourceforge.net/fudaa/?rev=3816&view=rev Author: fargeix Date: 2008-08-18 08:46:55 +0000 (Mon, 18 Aug 2008) Log Message: ----------- Panneau de saisie des donn?\195?\169es g?\195?\169n?\195?\169rales Modified Paths: -------------- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3FrameSaisieDonneesGenerales.java Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3FrameSaisieDonneesGenerales.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3FrameSaisieDonneesGenerales.java 2008-08-18 08:46:01 UTC (rev 3815) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3FrameSaisieDonneesGenerales.java 2008-08-18 08:46:55 UTC (rev 3816) @@ -70,7 +70,7 @@ /** * Bouton de validation des donn�es topolgiques saisies pour le chenal */ - final BuButton validation_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_oui"), "valider"); + final BuButton validation_ = new BuButton(FudaaResource.FUDAA.getIcon("crystal_oui"), "Valider"); /** * Fenetre qui contiendra le panel de jours feri\xE9s a droite0 @@ -114,7 +114,7 @@ donnees_ = _donnees; panelJoursFeries.setLayout(new BorderLayout()); - this.nbJours_.setToolTipText("LE nombre de jours de la simulation. Par defaut regle sur 365 jours "); + this.nbJours_.setToolTipText("Le nombre de jours de la simulation. Par d\xE9faut r\xE9gl\xE9 sur 365 jours"); this.piedPilote_ .setToolTipText("le piede de pilote en pourcentage. Par defaut regl\xE9 a 10%. ne saisir s'un nombre entre 0 et 100 sans particules"); this.jourDepart.setToolTipText("le jour de d\xE9part de la simulation. La simulation commencera le jour selectionn\xE9"); @@ -171,7 +171,7 @@ * Creation de la fenetre */ - setTitle("saisie des donn\xE9es g\xE9n\xE9rales"); + setTitle("Saisie des donn\xE9es g\xE9n\xE9rales"); setSize(360, 300); setBorder(Sinavi3Bordures.compound_); getContentPane().setLayout(new BorderLayout()); @@ -194,7 +194,7 @@ this.panelDonnees_.add(p0); final JPanel p1 = new JPanel(); - p1.add(new JLabel("Nombre de jours de la simulation: ")); + p1.add(new JLabel("Dur\xE9e de la simulation: ")); p1.add(this.nbJours_); p1.add(new JLabel("jours ")); p1.setBorder(Sinavi3Bordures.compound_); @@ -314,12 +314,12 @@ if (this.graine_.getText().equals("")) { new BuDialogError(donnees_.application_.getApp(), Sinavi3Implementation.isSinavi_, - "Erreur!! graine d'initialisation manquante!!!!").activate(); + "Erreur!! Graine d'initialisation manquante!!!!").activate(); return false; } if (this.nbJours_.getText().equals("")) { new BuDialogError(donnees_.application_.getApp(), Sinavi3Implementation.isSinavi_, - "Erreur!! Nombre de jorus de la simulation manquant!!!!").activate(); + "Erreur!! Nombre de jours de la simulation manquant!!!!").activate(); return false; } if (this.piedPilote_.getText().equals("")) { @@ -379,7 +379,7 @@ }// if les mots sont non vides else { new BuDialogMessage(donnees_.application_.getApp(), Sinavi3Implementation.isSinavi_, - " les donn\xE9es ont \xE9t\xE9 correctement saisies."/* + i + " jours saisis!! "*/).activate(); + "Les donn\xE9es ont \xE9t\xE9 correctement saisies."/* + i + " jours saisis!! "*/).activate(); dispose(); return true; @@ -389,7 +389,7 @@ // arriv\xE9 \xE9 ce stade de la m\xE9thode , tous les test de non coh\xE9rence ont \xE9chou\xE9, il suit que // les donn\xE9es saisies sont bien coh\xE9rentes et l'on peut les ajouter aux cheneaux. new BuDialogMessage(donnees_.application_.getApp(), Sinavi3Implementation.isSinavi_, - "les donn\xE9es ont \xE9t\xE9 correctement saisies: " /*+ this.listeJoursFeries_.size() + " couples saisis!! "*/).activate(); + "Les donn\xE9es ont \xE9t\xE9 correctement saisies: " /*+ this.listeJoursFeries_.size() + " couples saisis!! "*/).activate(); dispose(); return true; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fa...@us...> - 2008-08-18 08:45:52
|
Revision: 3815 http://fudaa.svn.sourceforge.net/fudaa/?rev=3815&view=rev Author: fargeix Date: 2008-08-18 08:46:01 +0000 (Mon, 18 Aug 2008) Log Message: ----------- Panneau de pr?\195?\169f?\195?\169rences pour Sinavi Modified Paths: -------------- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3PreferencesPanel.java Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3PreferencesPanel.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3PreferencesPanel.java 2008-08-18 08:45:05 UTC (rev 3814) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3PreferencesPanel.java 2008-08-18 08:46:01 UTC (rev 3815) @@ -8,26 +8,30 @@ */ package org.fudaa.fudaa.sinavi3; -import javax.swing.JCheckBox; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + import javax.swing.border.AbstractBorder; import javax.swing.border.CompoundBorder; import javax.swing.border.EmptyBorder; import javax.swing.border.TitledBorder; +import com.memoire.bu.BuCheckBox; import com.memoire.bu.BuAbstractPreferencesPanel; import com.memoire.bu.BuGridLayout; /** - * Panneau de preferences pour Sipor. Il n'y a qu'une seule pr\xE9f\xE9rence, pour enregistrer les r\xE9sultats ou pas. + * Panneau de preferences pour Sinavi. Il n'y a qu'une seule pr\xE9f\xE9rence, pour enregistrer les r\xE9sultats ou pas. * * @version $Revision: 1.1 $ $Date: 2007-11-23 11:27:51 $ by $Author: hadouxad $ * @author Nicolas Chevalier */ -public class Sinavi3PreferencesPanel extends BuAbstractPreferencesPanel { +public class Sinavi3PreferencesPanel extends BuAbstractPreferencesPanel implements ActionListener { Sinavi3Preferences options_ = Sinavi3Preferences.SINAVI; // Composant du paneau - JCheckBox cbEnregistrerResultats = new JCheckBox("Enregistrer les r\xE9sultats"); - + //JCheckBox cbEnregistrerResultats = new JCheckBox("Enregistrer les r\xE9sultats"); + BuCheckBox cbEnregistrerResultats = new BuCheckBox("Enregistrer les r\xE9sultats"); + public Sinavi3PreferencesPanel() { super(); final BuGridLayout lo = new BuGridLayout(); @@ -35,12 +39,13 @@ setLayout(lo); final AbstractBorder cadre = new CompoundBorder(new TitledBorder("R\xE9sultats"), new EmptyBorder(5, 5, 5, 5)); setBorder(cadre); + cbEnregistrerResultats.addActionListener(this); add(cbEnregistrerResultats); updatePanel(); } public String getTitle() { - return "sipor"; + return "Sinavi"; } /** Le bouton "cancel" est actif. */ @@ -52,11 +57,12 @@ public void cancelPreferences() { options_.readIniFile(); updatePanel(); + setDirty(false); } /** Le bouton "apply" est actif. */ public boolean isPreferencesApplyable() { - return true; + return false; } /** click sur "apply" : preferences_ de sipor est mis \xE0 jour. */ @@ -69,10 +75,11 @@ return true; } - /** Quand on clique sur le bouton "valider" : \xE9criture du fichier et maj de preferences_ dans sipor. */ + /** Quand on clique sur le bouton "valider" : \xE9criture du fichier et maj de preferences_ dans sinavi. */ public void validatePreferences() { remplitOptions(); options_.writeIniFile(); + setDirty(false); } /** Lit la valeur dans le panneau et l'affecte aux pr\xE9f\xE9rences en m\xE9moire. */ @@ -84,4 +91,8 @@ private void updatePanel() { cbEnregistrerResultats.setSelected(options_.getBooleanProperty("enregistrerResultats")); } + +public void actionPerformed(final ActionEvent _e) { + setDirty(true); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fa...@us...> - 2008-08-18 08:45:00
|
Revision: 3814 http://fudaa.svn.sourceforge.net/fudaa/?rev=3814&view=rev Author: fargeix Date: 2008-08-18 08:45:05 +0000 (Mon, 18 Aug 2008) Log Message: ----------- Calcul des temps d'attente Modified Paths: -------------- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3AlgorithmeAttentesGenerales.java Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3AlgorithmeAttentesGenerales.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3AlgorithmeAttentesGenerales.java 2008-08-18 08:44:03 UTC (rev 3813) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3AlgorithmeAttentesGenerales.java 2008-08-18 08:45:05 UTC (rev 3814) @@ -92,7 +92,7 @@ // on r\xE9cup\xE8re la categorie associee au navire: final int n = donnees_.listeResultatsSimu_.listeEvenements[k].categorie; - resultats.AttentesTousElementsToutesCategoriesSens1[compteurElementsAttente].tableauAttenteCategories[n].nombreNaviresTotal++; + //resultats.AttentesTousElementsToutesCategoriesSens1[compteurElementsAttente].tableauAttenteCategories[n].nombreNaviresTotal++; // pour chaque element du trajet du navire k des qu on trouve el premeir element on se retire trouve = false; for (int e = 0; e < donnees_.listeResultatsSimu_.listeEvenements[k].NbElemtnsParcours && !trouve; e++) { @@ -101,6 +101,9 @@ if (donnees_.listeResultatsSimu_.listeEvenements[k].tableauTrajet[e].typeElement == 0 && donnees_.listeResultatsSimu_.listeEvenements[k].tableauTrajet[e].indiceElement == i) { trouve = true; + + resultats.AttentesTousElementsToutesCategoriesSens1[compteurElementsAttente].tableauAttenteCategories[n].nombreNaviresTotal++; + // on comptabilise les diff\xE9rents temps d'attente // attentes d'acces @@ -286,7 +289,7 @@ if(donnees_.listeResultatsSimu_.listeEvenements[k].sens==0){ //-- test si sens avalant --// // on r\xE9cup\xE8re la categorie associee au navire: final int n = donnees_.listeResultatsSimu_.listeEvenements[k].categorie; - resultats.AttentesTousElementsToutesCategoriesSens1[compteurElementsAttente].tableauAttenteCategories[n].nombreNaviresTotal++; + //resultats.AttentesTousElementsToutesCategoriesSens1[compteurElementsAttente].tableauAttenteCategories[n].nombreNaviresTotal++; trouve = false; // pour chaque element du trajet du navire k for (int e = 0; e < donnees_.listeResultatsSimu_.listeEvenements[k].NbElemtnsParcours && !trouve; e++) { @@ -294,6 +297,8 @@ if (donnees_.listeResultatsSimu_.listeEvenements[k].tableauTrajet[e].typeElement == 1 && donnees_.listeResultatsSimu_.listeEvenements[k].tableauTrajet[e].indiceElement == i) { trouve = true; + resultats.AttentesTousElementsToutesCategoriesSens1[compteurElementsAttente].tableauAttenteCategories[n].nombreNaviresTotal++; + // on comptabilise les diff\xE9rents temps d'attente // attentes d'acces @@ -487,7 +492,7 @@ if(donnees_.listeResultatsSimu_.listeEvenements[k].sens==1){ //-- test si sens avalant --// // on r\xE9cup\xE8re la categorie associee au navire: final int n = donnees_.listeResultatsSimu_.listeEvenements[k].categorie; - resultats.AttentesTousElementsToutesCategoriesSens2[compteurElementsAttente].tableauAttenteCategories[n].nombreNaviresTotal++; + //resultats.AttentesTousElementsToutesCategoriesSens2[compteurElementsAttente].tableauAttenteCategories[n].nombreNaviresTotal++; // pour chaque element du trajet du navire k des qu on trouve el premeir element on se retire trouve = false; for (int e =0; e<donnees_.listeResultatsSimu_.listeEvenements[k].NbElemtnsParcours && !trouve; e++) { @@ -495,6 +500,8 @@ if (donnees_.listeResultatsSimu_.listeEvenements[k].tableauTrajet[e].typeElement == 0 && donnees_.listeResultatsSimu_.listeEvenements[k].tableauTrajet[e].indiceElement == i) { trouve = true; + resultats.AttentesTousElementsToutesCategoriesSens2[compteurElementsAttente].tableauAttenteCategories[n].nombreNaviresTotal++; + // on comptabilise les diff\xE9rents temps d'attente // attentes d'acces @@ -680,7 +687,7 @@ if(donnees_.listeResultatsSimu_.listeEvenements[k].sens==1){ //-- test si sens avalant --// // on r\xE9cup\xE8re la categorie associee au navire: final int n = donnees_.listeResultatsSimu_.listeEvenements[k].categorie; - resultats.AttentesTousElementsToutesCategoriesSens2[compteurElementsAttente].tableauAttenteCategories[n].nombreNaviresTotal++; + //resultats.AttentesTousElementsToutesCategoriesSens2[compteurElementsAttente].tableauAttenteCategories[n].nombreNaviresTotal++; trouve = false; // pour chaque element du trajet du navire k for (int e =0; e<donnees_.listeResultatsSimu_.listeEvenements[k].NbElemtnsParcours&& !trouve; e++) { @@ -688,6 +695,8 @@ if (donnees_.listeResultatsSimu_.listeEvenements[k].tableauTrajet[e].typeElement == 1 && donnees_.listeResultatsSimu_.listeEvenements[k].tableauTrajet[e].indiceElement == i) { trouve = true; + resultats.AttentesTousElementsToutesCategoriesSens2[compteurElementsAttente].tableauAttenteCategories[n].nombreNaviresTotal++; + // on comptabilise les diff\xE9rents temps d'attente // attentes d'acces This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fa...@us...> - 2008-08-18 08:43:54
|
Revision: 3813 http://fudaa.svn.sourceforge.net/fudaa/?rev=3813&view=rev Author: fargeix Date: 2008-08-18 08:44:03 +0000 (Mon, 18 Aug 2008) Log Message: ----------- Connexion au serveur sinavi Modified Paths: -------------- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3Implementation.java Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3Implementation.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3Implementation.java 2008-08-18 07:49:49 UTC (rev 3812) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/sinavi3/Sinavi3Implementation.java 2008-08-18 08:44:03 UTC (rev 3813) @@ -412,10 +412,10 @@ protected void construitToolBar(final BuToolBar newtb) { newtb.removeAll(); - newtb.addToolButton("Creer", "CREER", FudaaResource.FUDAA.getIcon("crystal_creer"), false); + newtb.addToolButton("Cr\xE9er", "CREER", FudaaResource.FUDAA.getIcon("crystal_creer"), false); newtb.addToolButton("Ouvrir", "OUVRIR", FudaaResource.FUDAA.getIcon("crystal_ouvrir"), false); - newtb.addToolButton("Enreg", "ENREGISTRER", FudaaResource.FUDAA.getIcon("crystal_enregistrer"), false); - newtb.addToolButton("nettoyer", "NETTOYER", FudaaResource.FUDAA.getIcon("crystal_valeur-initiale"), false); + newtb.addToolButton("Enregistrer", "ENREGISTRER", FudaaResource.FUDAA.getIcon("crystal_enregistrer"), false); + newtb.addToolButton("Nettoyer", "NETTOYER", FudaaResource.FUDAA.getIcon("crystal_valeur-initiale"), false); newtb.addSeparator(); newtb.addSeparator(); @@ -429,30 +429,30 @@ newtb.addToolButton("Biefs", "PARAMETRECHENAL", FudaaResource.FUDAA.getIcon("crystal_parametre"), false); newtb.addToolButton("Ecluses", "PARAMETREECLUSE", FudaaResource.FUDAA.getIcon("crystal_parametre"), false); newtb.addSeparator(); - newtb.addToolButton("Topo Biefs", "TOPOLOGIECHENAL", FudaaResource.FUDAA.getIcon("graphe_"), false); + newtb.addToolButton("Topo biefs", "TOPOLOGIECHENAL", FudaaResource.FUDAA.getIcon("graphe_"), false); newtb.addToolButton("Mod\xE9lisation r\xE9seau", "MODELISATIONTOPOLOGIE", FudaaResource.FUDAA.getIcon("crystal_colorier"), false); newtb.addSeparator(); - newtb.addToolButton("Croisements Biefs", "REGLESNAVIGATIONCHENAL", FudaaResource.FUDAA.getIcon("configurer_"), false); - newtb.addToolButton("Trematages Biefs", "REGLESNAVIGATIONCHENAL2", FudaaResource.FUDAA.getIcon("configurer_"), false); + newtb.addToolButton("Croisements biefs", "REGLESNAVIGATIONCHENAL", FudaaResource.FUDAA.getIcon("configurer_"), false); + newtb.addToolButton("Tr\xE9matages biefs", "REGLESNAVIGATIONCHENAL2", FudaaResource.FUDAA.getIcon("configurer_"), false); newtb.addToolButton("Trajets bateaux", "REGLESTRAJETBATEAU", FudaaResource.FUDAA.getIcon("configurer_"), false); - newtb.addToolButton("Vitesses Biefs", "REGLESDUREEPARCOURSCHENAL", + newtb.addToolButton("Vitesses biefs", "REGLESDUREEPARCOURSCHENAL", FudaaResource.FUDAA.getIcon("configurer_"), false); - newtb.addToolButton("Dur.Maneuvre Ecluses", "REGLESDUREEMANEUVRE", + newtb.addToolButton("Dur\xE9es maneuvres \xE9cluses", "REGLESDUREEMANEUVRE", FudaaResource.FUDAA.getIcon("configurer_"), false); newtb.addSeparator(); newtb.addSeparator(); newtb.addSeparator(); newtb.addSeparator(); - newtb.addToolButton("Verif", "VERIFICATIONDONNEES", FudaaResource.FUDAA.getIcon("crystal_analyser"), true); - newtb.addToolButton("Dup.simu", "DUPLIQUERSIMU", FudaaResource.FUDAA.getIcon("dupliquer_"), false); + newtb.addToolButton("V\xE9rification", "VERIFICATIONDONNEES", FudaaResource.FUDAA.getIcon("crystal_analyser"), false); + newtb.addToolButton("Duplication simulation", "DUPLIQUERSIMU", FudaaResource.FUDAA.getIcon("dupliquer_"), false); newtb.addToolButton("Calcul", "LANCEMENTCALCUL", FudaaResource.FUDAA.getIcon("crystal_executer"), false); newtb.addSeparator(); - newtb.addToolButton("Gen nav", "GRAPHEGENERATIONNAV", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); - newtb.addToolButton("Duree parcours", "GRAPHEDUREEPARCOURS", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); - newtb.addToolButton("Attente trajet", "ATTENTESPECIALISEE", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); + newtb.addToolButton("G\xE9n\xE9ration navires", "GRAPHEGENERATIONNAV", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); + newtb.addToolButton("Dur\xE9es parcours", "GRAPHEDUREEPARCOURS", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); + newtb.addToolButton("Attentes trajets", "ATTENTESPECIALISEE", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); newtb.addToolButton("Croisements", "CROISEMENTSCHENAUXTABLEAU", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); @@ -466,11 +466,11 @@ */ protected BuMenu construitMenuDonneesGenerales(final boolean _app) { final BuMenu r = new BuMenu("G\xE9n\xE9ralit\xE9s", "GENERALITES"); - BuMenuItem b=r.addMenuItem("donn\xE9es g\xE9n\xE9rales", "DONNEESGENERALES", FudaaResource.FUDAA.getIcon("analyser"), false); + BuMenuItem b=r.addMenuItem("Saisie des donn\xE9es g\xE9n\xE9rales", "DONNEESGENERALES", FudaaResource.FUDAA.getIcon("analyser"), false); b.setMnemonic(KeyEvent.VK_O); b.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.SHIFT_MASK|ActionEvent.CTRL_MASK)); - r.addMenuItem("R\xE9cup\xE9rer des projets de Sinavi 2", "SINAVI2", FudaaResource.FUDAA.getIcon("analyser"), false); + r.addMenuItem("R\xE9cup\xE9ration de projets de Sinavi 2", "SINAVI2", FudaaResource.FUDAA.getIcon("analyser"), false); r.setMnemonic(KeyEvent.VK_G); r.getAccessibleContext().setAccessibleDescription( @@ -484,7 +484,7 @@ * simulation, on a la possibilit\xE9 de cliquer sur les sous menus parmares quai, ecluses,biefs. */ protected BuMenu construitMenuParametresConstruction(final boolean _app) { - final BuMenu r = new BuMenu("Parametres", "PARAMETRESSIMULATION"); + final BuMenu r = new BuMenu("Param\xE8tres", "PARAMETRESSIMULATION"); //-- modif AH --// BuMenuItem b= r.addMenuItem("Gares", "PARAMETREGARE", FudaaResource.FUDAA.getIcon("crystal_parametre"), false); @@ -523,7 +523,7 @@ r.setMnemonic(KeyEvent.VK_P); r.getAccessibleContext().setAccessibleDescription( - "Saisie des param\xE8tres du port"); + "Saisie des param\xE8tres de la simulation"); @@ -558,22 +558,22 @@ r.addSeparator("Projet"); - BuMenuItem b=r.addMenuItem("Rappel de donn\xE9es", "RAPPELDONNEES", FudaaResource.FUDAA.getIcon(""), false); + BuMenuItem b=r.addMenuItem("Rappel des donn\xE9es", "RAPPELDONNEES", FudaaResource.FUDAA.getIcon(""), false); b.setMnemonic(KeyEvent.VK_R); b.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R, ActionEvent.SHIFT_MASK|ActionEvent.CTRL_MASK)); - b=r.addMenuItem("Dupliquer simulation", "DUPLIQUERSIMU", FudaaResource.FUDAA.getIcon("dupliquer_"), false); + b=r.addMenuItem("Duplication de la simulation", "DUPLIQUERSIMU", FudaaResource.FUDAA.getIcon("dupliquer_"), false); b.setMnemonic(KeyEvent.VK_I); b.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I, ActionEvent.SHIFT_MASK|ActionEvent.CTRL_MASK)); r.addSeparator("Simulation"); - b=r.addMenuItem("Verification", "VERIFICATIONDONNEES", FudaaResource.FUDAA.getIcon("crystal_analyser"), false); + b=r.addMenuItem("V\xE9rification", "VERIFICATIONDONNEES", FudaaResource.FUDAA.getIcon("crystal_analyser"), false); b.setMnemonic(KeyEvent.VK_V); b.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.SHIFT_MASK|ActionEvent.CTRL_MASK)); - b=r.addMenuItem("Calculer", "LANCEMENTCALCUL", FudaaResource.FUDAA.getIcon("crystal_executer"), false); + b=r.addMenuItem("Calcul", "LANCEMENTCALCUL", FudaaResource.FUDAA.getIcon("crystal_executer"), false); b.setMnemonic(KeyEvent.VK_L); b.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_L, ActionEvent.SHIFT_MASK|ActionEvent.CTRL_MASK)); @@ -582,7 +582,7 @@ b.setMnemonic(KeyEvent.VK_H); b.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H, ActionEvent.SHIFT_MASK|ActionEvent.CTRL_MASK)); - b=r.addMenuItem("Suppression fichier historique", "AUTRE1", false); + b=r.addMenuItem("Suppression du fichier historique", "AUTRE1", false); b.setMnemonic(KeyEvent.VK_F); b.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, ActionEvent.SHIFT_MASK|ActionEvent.CTRL_MASK)); @@ -622,7 +622,7 @@ */ protected BuMenu construitMenuTopologie(final boolean _app) { - final BuMenu r = new BuMenu("Reseau", "TOPOLOGIE"); + final BuMenu r = new BuMenu("R\xE9seau", "TOPOLOGIE"); r.addSeparator("Topologie"); BuMenuItem b; @@ -631,7 +631,7 @@ b.setMnemonic(KeyEvent.VK_B); b.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B, ActionEvent.SHIFT_MASK|ActionEvent.ALT_MASK)); */ - b=r.addMenuItem("biefs", "TOPOLOGIECHENAL", FudaaResource.FUDAA.getIcon("graphe_"), false); + b=r.addMenuItem("Biefs", "TOPOLOGIECHENAL", FudaaResource.FUDAA.getIcon("graphe_"), false); b.setMnemonic(KeyEvent.VK_T); b.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T, ActionEvent.SHIFT_MASK|ActionEvent.ALT_MASK)); @@ -644,7 +644,7 @@ b.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.SHIFT_MASK|ActionEvent.ALT_MASK)); */ r.addSeparator("Construction"); - b=r.addMenuItem("mod\xE9lisation du r\xE9seau", "MODELISATIONTOPOLOGIE", FudaaResource.FUDAA.getIcon("crystal_colorier"), false); + b=r.addMenuItem("Mod\xE9lisation du r\xE9seau", "MODELISATIONTOPOLOGIE", FudaaResource.FUDAA.getIcon("crystal_colorier"), false); b.setMnemonic(KeyEvent.VK_D); b.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, ActionEvent.SHIFT_MASK)); @@ -662,20 +662,20 @@ */ protected BuMenu construitMenuReglesNavigations(final boolean _app) { - final BuMenu r = new BuMenu("Navigation ", "REGLESNAVIGATION"); + final BuMenu r = new BuMenu("Navigation", "REGLESNAVIGATION"); - r.addMenuItem("Croisements dans les Biefs", "REGLESNAVIGATIONCHENAL", FudaaResource.FUDAA.getIcon("configurer_"), false); - r.addMenuItem("Trematage dans les Biefs", "REGLESNAVIGATIONCHENAL2", FudaaResource.FUDAA.getIcon("configurer_"), false); + r.addMenuItem("Croisement dans les biefs", "REGLESNAVIGATIONCHENAL", FudaaResource.FUDAA.getIcon("configurer_"), false); + r.addMenuItem("Tr\xE9matage dans les biefs", "REGLESNAVIGATIONCHENAL2", FudaaResource.FUDAA.getIcon("configurer_"), false); //r1.addMenuItem("Cercles", "REGLESNAVIGATIONCERCLE", FudaaResource.FUDAA.getIcon("configurer_"), false); - r.addMenuItem("Vitesses bateaux dans biefs", "REGLESDUREEPARCOURSCHENAL", FudaaResource.FUDAA.getIcon("configurer_"), false); - r.addMenuItem("Durees de maneuvre dans ecluses", "REGLESDUREEMANEUVRE", FudaaResource.FUDAA.getIcon("configurer_"), false); + r.addMenuItem("Vitesse des bateaux dans les biefs", "REGLESDUREEPARCOURSCHENAL", FudaaResource.FUDAA.getIcon("configurer_"), false); + r.addMenuItem("Dur\xE9es de maneuvres dans les \xE9cluses", "REGLESDUREEMANEUVRE", FudaaResource.FUDAA.getIcon("configurer_"), false); //r2.addMenuItem("Cercles", "REGLESDUREEPARCOURSCERCLE", FudaaResource.FUDAA.getIcon("configurer_"), false); - r.addMenuItem("D\xE9finition des trajets par bateaux", "REGLESTRAJETBATEAU", FudaaResource.FUDAA.getIcon("configurer_"), false); + r.addMenuItem("D\xE9finition des trajets par bateau", "REGLESTRAJETBATEAU", FudaaResource.FUDAA.getIcon("configurer_"), false); @@ -692,7 +692,7 @@ * @return le menu des resultats. */ protected BuMenu construitMenuExploitation(final boolean _app) { - final BuMenu r = new BuMenu("Resultats", "RESULTATSSIMU"); + final BuMenu r = new BuMenu("R\xE9sultats", "RESULTATSSIMU"); // final BuMenu r3= new BuMenu("Durees de parcours ", "DURR"); //final BuMenu r4 = new BuMenu("Occupation des quais", "OCC"); @@ -703,19 +703,19 @@ r.addMenuItem("Historique", "HISTORIQUETABLEAU", FudaaResource.FUDAA.getIcon("crystal_arbre"), false); - r.addMenuItem("Durees de parcours", "GRAPHEDUREEPARCOURS", FudaaResource.FUDAA.getIcon("crystal_arbre"), false); + r.addMenuItem("Dur\xE9es de parcours", "GRAPHEDUREEPARCOURS", FudaaResource.FUDAA.getIcon("crystal_arbre"), false); //r4.addMenuItem("Occupations globales", "TABLEAUOCCUPGLOBAL", FudaaResource.FUDAA.getIcon("crystal_arbre"), false); //r4.addMenuItem("Occupations par quais", "TABLEAUOCCUPQUAI", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); - r5.addMenuItem("attentes par element", "ATTENTEGENERALESELEMENTTABLEAU", FudaaResource.FUDAA + r5.addMenuItem("Attentes par \xE9l\xE9ment", "ATTENTEGENERALESELEMENTTABLEAU", FudaaResource.FUDAA .getIcon("crystal_graphe"), false); - r5.addMenuItem("attentes par bateaux", "ATTENTEGENERALESCATEGORIETABLEAU", FudaaResource.FUDAA + r5.addMenuItem("Attentes par bateau", "ATTENTEGENERALESCATEGORIETABLEAU", FudaaResource.FUDAA .getIcon("crystal_graphe"), false); - r5.addMenuItem("attentes par trajet", "ATTENTESPECIALISEE", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); + r5.addMenuItem("Attentes par trajet", "ATTENTESPECIALISEE", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); r.addSubMenu(r5, false); - r.addMenuItem("Croisements Biefs", "CROISEMENTSCHENAUXTABLEAU", FudaaResource.FUDAA.getIcon("crystal_arbre"), false); - r.addMenuItem("Trematages Biefs", "TREMATAGESCHENAUXTABLEAU", FudaaResource.FUDAA.getIcon("crystal_arbre"), false); + r.addMenuItem("Croisements dans les biefs", "CROISEMENTSCHENAUXTABLEAU", FudaaResource.FUDAA.getIcon("crystal_arbre"), false); + r.addMenuItem("Tr\xE9matages dans les biefs", "TREMATAGESCHENAUXTABLEAU", FudaaResource.FUDAA.getIcon("crystal_arbre"), false); @@ -723,7 +723,7 @@ r.setMnemonic(KeyEvent.VK_R); r.getAccessibleContext().setAccessibleDescription( - "r\xE9sultats de la simulation"); + "R\xE9sultats de la simulation"); return r; } @@ -740,11 +740,11 @@ r.addMenuItem("G\xE9n\xE9ration de bateaux", "COMPARESIMU1", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); // r.addMenuItem("Occupation globale des quais", "COMPARESIMU2", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); // r.addMenuItem("Occupation d\xE9taill\xE9e des quais", "COMPARESIMU4", FudaaResource.FUDAA.getIcon("crystal_graphe"),false); - r.addMenuItem("dur\xE9e de parcours", "COMPARESIMU3", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); + r.addMenuItem("Dur\xE9es de parcours", "COMPARESIMU3", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); final BuMenu r1 = new BuMenu("Attentes", "ACOMPARE"); - r1.addMenuItem("Attentes \xE9l\xE9ments", "COMPARESIMU5", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); - r1.addMenuItem("Attentes trajet", "COMPARESIMU6", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); + r1.addMenuItem("Attentes par \xE9l\xE9ment", "COMPARESIMU5", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); + r1.addMenuItem("Attentes par trajet", "COMPARESIMU6", FudaaResource.FUDAA.getIcon("crystal_graphe"), false); r.addSubMenu(r1, true); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2008-08-18 07:49:40
|
Revision: 3812 http://fudaa.svn.sourceforge.net/fudaa/?rev=3812&view=rev Author: hadouxad Date: 2008-08-18 07:49:49 +0000 (Mon, 18 Aug 2008) Log Message: ----------- - Creation d un editeur docking pour le widget graphe. Utilisation similaire au calque Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java 2008-08-18 07:16:38 UTC (rev 3811) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EditCreator.java 2008-08-18 07:49:49 UTC (rev 3812) @@ -16,6 +16,7 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JToolBar; +import javax.swing.JTree; import javax.swing.border.LineBorder; import org.flexdock.docking.DockingConstants; @@ -27,6 +28,8 @@ import org.fudaa.ebli.calque.ZEbliCalquesPanel; import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.ebli.commun.EbliComponentFactory; +import org.fudaa.ebli.courbe.EGFillePanel; +import org.fudaa.ebli.courbe.EGGrapheTreeModel; /** * A ameliorer... @@ -82,7 +85,55 @@ return frame; } + + public JFrame createFrame(EGFillePanel pn) { + JFrame frame = new JFrame("Modification du graphe"); + frame.getContentPane().setLayout(new BorderLayout()); + EbliActionInterface[] specificInterfaces = pn.getSpecificActions(); + JMenuBar mb = new JMenuBar(); + frame.setJMenuBar(mb); + JMenu menu = new JMenu("Menu graphe"); + pn.fillSpecificMenu(menu); + + // for (int i = 0; i < specificInterfaces.length; i++) { + // mb.add(new JMenu(specificInterfaces[i])); + // } + mb.add(menu); + + JToolBar tb = new JToolBar(); + + for (int i = 0; i < specificInterfaces.length; i++) { + EbliActionInterface object = specificInterfaces[i]; + if (object == null) { + tb.addSeparator(); + } else { + tb.add(object.buildToolButton(EbliComponentFactory.INSTANCE)); + } + } + frame.getContentPane().add(tb, BorderLayout.NORTH); + pn.setPreferredSize(pn.getPreferredSize()); + final DefaultDockingPort globalPort = createDockingPort(); + JComponent centerComponent = createView(pn, "Graphe"); + DockingManager.dock(centerComponent, (DockingPort) globalPort); + JTree tree = new JTree((EGGrapheTreeModel) pn.getGraphe().getModel()); + JComponent rightComponent = createView(new JScrollPane(tree), "arbre", true); + DockingManager.dock(rightComponent, centerComponent, DockingConstants.EAST_REGION, 0.75f); + + frame.getContentPane().add(globalPort, BorderLayout.CENTER); + frame.addWindowListener(new WindowAdapter() { + + @Override + public void windowClosed(WindowEvent _e) { + globalPort.clear(); + } + + }); + return frame; + + } + + private static DefaultDockingPort createDockingPort() { DefaultDockingPort port = new DefaultDockingPort(); port.setPreferredSize(new Dimension(400, 400)); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java 2008-08-18 07:16:38 UTC (rev 3811) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java 2008-08-18 07:49:49 UTC (rev 3812) @@ -7,40 +7,50 @@ import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.MouseEvent; -import java.util.EnumSet; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; -import javax.swing.JMenu; +import javax.swing.JComponent; +import javax.swing.JFrame; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; +import javax.swing.SwingUtilities; import org.fudaa.ctulu.CtuluResource; -import org.fudaa.ctulu.gui.CtuluPopupListener; import org.fudaa.ebli.courbe.EGConfigureActionPalette; import org.fudaa.ebli.courbe.EGFillePanel; import org.fudaa.ebli.courbe.EGGraphe; import org.fudaa.ebli.visuallibrary.EbliNodeDefault; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.EbliWidget; +import org.fudaa.ebli.visuallibrary.calque.EditCreator; import org.netbeans.api.visual.action.ActionFactory; -import org.netbeans.api.visual.action.InplaceEditorProvider; +import org.netbeans.api.visual.action.EditProvider; import org.netbeans.api.visual.action.PopupMenuProvider; import org.netbeans.api.visual.action.WidgetAction; import org.netbeans.api.visual.widget.Widget; -import com.memoire.bu.BuPanel; - /** * widget qui contient un objet graphe * @author adrien hadoux * */ -public class EbliWidgetGraphe extends EbliWidget implements InplaceEditorProvider<BuPanel>{ +public class EbliWidgetGraphe extends EbliWidget implements EditProvider/* + * , + * InplaceEditorProvider + * < + * BuPanel + * > + */{ private EGGraphe graphe; + JFrame frame_; + EditCreator editor_; + EGFillePanel panelGraphe_; + private EbliNodeDefault nodeLegende=null; - + public Color couleurContour=Color.black; public Color couleurFond=Color.white; @@ -57,11 +67,14 @@ // TODO Auto-generated constructor stub setGraphe(_graphe); - - + editor_ = EditCreator.INSTANCE; + panelGraphe_=new EGFillePanel(_graphe); //-- creation de l action pour editor --// - WidgetAction editorAction = ActionFactory.createInplaceEditorAction(this); + // WidgetAction editorAction = + // ActionFactory.createInplaceEditorAction(this); + WidgetAction editorAction = ActionFactory.createEditAction(this); + // -- ajout de l action au widget correspondant --// this.getActions().addAction(editorAction); @@ -112,10 +125,7 @@ * @param _popup */ private void constructPopupMenuSpecifique(JPopupMenu _popup){ - - - - JMenuItem menuItem=_popup.add ("Ajouter la l\xE9gende"); + JMenuItem menuItem = _popup.add("Ajouter la l\xE9gende"); menuItem.setIcon(CtuluResource.CTULU.getIcon("crystal22_commentaire")); menuItem.addActionListener(new ActionListener(){ @@ -163,64 +173,101 @@ /** * Methode appeleee pour creer un editor EGFillePanel correspondant a la vue */ - public /*EGFillePanel*/ BuPanel createEditorComponent( - org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, - Widget widget) { - - //-- creation du menu d'actions--// - final JMenu menu = new JMenu(); - menu.setName("menu du graphe"); - menu.setText("menu du graphe"); - // creation du panel Egfille correspondant - final EGFillePanel panelGraphe=new EGFillePanel(this.graphe); - new CtuluPopupListener(new CtuluPopupListener.PopupReceiver() { - - public void popup(MouseEvent _evt) { - panelGraphe.popupMenu(_evt.getX(), _evt.getY()); - - } - },panelGraphe); - - //--remplissage du menu --// - panelGraphe.fillSpecificMenu(menu); - - //FIXME : comment construire le Jmenu principal ainsi que le tree qui qffiche les courbes ??? - - - return panelGraphe; - } + // public /*EGFillePanel*/ BuPanel createEditorComponent( + // org.netbeans.api.visual.action.InplaceEditorProvider.EditorController + // controller, + // Widget widget) { + // + // //-- creation du menu d'actions--// + // final JMenu menu = new JMenu(); + // menu.setName("menu du graphe"); + // menu.setText("menu du graphe"); + // // creation du panel Egfille correspondant + // final EGFillePanel panelGraphe=new EGFillePanel(this.graphe); + // new CtuluPopupListener(new CtuluPopupListener.PopupReceiver() { + // + // public void popup(MouseEvent _evt) { + // panelGraphe.popupMenu(_evt.getX(), _evt.getY()); + // + // } + // },panelGraphe); + // + // //--remplissage du menu --// + // panelGraphe.fillSpecificMenu(menu); + // + // //FIXME : comment construire le Jmenu principal ainsi que le tree qui + // qffiche les courbes ??? + // + // + // return panelGraphe; + // } - - + public void edit(Widget _widget) { + if (frame_ != null) frame_.toFront(); + else { + // final GrBoite gr = calquePanel_.getVueCalque().getViewBoite(); + Rectangle rec = convertLocalToScene(getClientArea()); + Point p = new Point(rec.x, rec.y); + JComponent jc = getEbliScene().getView(); + SwingUtilities.convertPointToScreen(p, jc); - public EnumSet<org.netbeans.api.visual.action.InplaceEditorProvider.ExpansionDirection> getExpansionDirections( - org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, - Widget widget, /*EGFillePanel*/BuPanel editor) { - // TODO Auto-generated method stub - return null; - } + frame_ = editor_.createFrame(panelGraphe_); + frame_.setLocation(p); + frame_.pack(); + // calquePanel_.getVueCalque().changeRepere(this, gr); + frame_.setVisible(true); + frame_.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + frame_.addWindowListener(new WindowAdapter() { - public Rectangle getInitialEditorComponentBounds( - org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, - Widget widget, /*EGFillePanel*/BuPanel editor, Rectangle viewBounds) { - // TODO Auto-generated method stub - return null; - } + @Override + public void windowClosed(WindowEvent _e) { + if (frame_ != null) frame_.dispose(); + frame_ = null; + } - public void notifyClosing( - org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, - Widget widget, /*EGFillePanel*/BuPanel editor, boolean commit) { - // TODO Auto-generated method stub - - } + +// public void windowClosing(WindowEvent _e) { +// zoom_ = calquePanel_.getVueCalque().getViewBoite(); +// // image = null; +// // getEbliScene().refresh(); +// } - public void notifyOpened( - org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, - Widget widget, /*EGFillePanel*/BuPanel editor) { - // TODO Auto-generated method stub - + }); + } + } + + + +// public EnumSet<org.netbeans.api.visual.action.InplaceEditorProvider.ExpansionDirection> getExpansionDirections( +// org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, +// Widget widget, /*EGFillePanel*/BuPanel editor) { +// // TODO Auto-generated method stub +// return null; +// } +// +// public Rectangle getInitialEditorComponentBounds( +// org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, +// Widget widget, /*EGFillePanel*/BuPanel editor, Rectangle viewBounds) { +// // TODO Auto-generated method stub +// return null; +// } +// +// public void notifyClosing( +// org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, +// Widget widget, /*EGFillePanel*/BuPanel editor, boolean commit) { +// // TODO Auto-generated method stub +// +// } +// +// public void notifyOpened( +// org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, +// Widget widget, /*EGFillePanel*/BuPanel editor) { +// // TODO Auto-generated method stub +// +// } + // public void setColorContour(Color newColor){ // couleurContour=newColor; // repaint(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2008-08-18 07:16:28
|
Revision: 3811 http://fudaa.svn.sourceforge.net/fudaa/?rev=3811&view=rev Author: hadouxad Date: 2008-08-18 07:16:38 +0000 (Mon, 18 Aug 2008) Log Message: ----------- ajout des fonctions: - creation widget image - creation widget editeur texte Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-18 07:12:03 UTC (rev 3810) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutPanelController.java 2008-08-18 07:16:38 UTC (rev 3811) @@ -37,6 +37,7 @@ import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionForeGround; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionImageChooser; import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionRetaillage; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActiontextEditor; import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorVueCalque; import org.fudaa.ebli.visuallibrary.creator.ShapeCreatorCircle; import org.fudaa.ebli.visuallibrary.creator.ShapeCreatorEllipse; @@ -239,7 +240,11 @@ } }); + // widget image _l.add(new EbliWidgetActionImageChooser(getScene())); + + // widget texte + _l.add(new EbliWidgetActiontextEditor(getScene())); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |