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: <opa...@us...> - 2008-08-12 15:46:05
|
Revision: 3785 http://fudaa.svn.sourceforge.net/fudaa/?rev=3785&view=rev Author: opasteur Date: 2008-08-12 15:46:15 +0000 (Tue, 12 Aug 2008) Log Message: ----------- Utilisation du CGlobal de dodico au lieu de celui de fudaa Modified Paths: -------------- trunk/fudaa_devel/dodico/src/org/fudaa/dodico/hydraulique1d/metier/MetierBief.java trunk/fudaa_devel/dodico/src/org/fudaa/dodico/hydraulique1d/metier/MetierReseau.java trunk/fudaa_devel/dodico/src/org/fudaa/dodico/hydraulique1d/metier/MetierZone.java Modified: trunk/fudaa_devel/dodico/src/org/fudaa/dodico/hydraulique1d/metier/MetierBief.java =================================================================== --- trunk/fudaa_devel/dodico/src/org/fudaa/dodico/hydraulique1d/metier/MetierBief.java 2008-08-12 15:46:01 UTC (rev 3784) +++ trunk/fudaa_devel/dodico/src/org/fudaa/dodico/hydraulique1d/metier/MetierBief.java 2008-08-12 15:46:15 UTC (rev 3785) @@ -41,7 +41,8 @@ import org.fudaa.dodico.hydraulique1d.metier.singularite.MetierSeuilTarageAmont; import org.fudaa.dodico.hydraulique1d.metier.singularite.MetierSeuilTarageAval; import org.fudaa.dodico.hydraulique1d.metier.singularite.MetierSource; -import org.fudaa.fudaa.hydraulique1d.CGlobal; +import org.fudaa.dodico.hydraulique1d.CGlobal; + /** * Impl\xE9mentation de l'objet m\xE9tier "bief" (\xE9l\xE9ment du r\xE9seau hydraulique). * Contient 2 extremit\xE9s (amont et aval), un tableau de profils. Modified: trunk/fudaa_devel/dodico/src/org/fudaa/dodico/hydraulique1d/metier/MetierReseau.java =================================================================== --- trunk/fudaa_devel/dodico/src/org/fudaa/dodico/hydraulique1d/metier/MetierReseau.java 2008-08-12 15:46:01 UTC (rev 3784) +++ trunk/fudaa_devel/dodico/src/org/fudaa/dodico/hydraulique1d/metier/MetierReseau.java 2008-08-12 15:46:15 UTC (rev 3785) @@ -41,7 +41,7 @@ import org.fudaa.dodico.hydraulique1d.metier.singularite.MetierSeuilTranscritique; import org.fudaa.dodico.hydraulique1d.metier.singularite.MetierSeuilVanne; import org.fudaa.dodico.hydraulique1d.metier.singularite.MetierSource; -import org.fudaa.fudaa.hydraulique1d.CGlobal; +import org.fudaa.dodico.hydraulique1d.CGlobal; /** * Impl\xE9mentation de l'objet m\xE9tier du "r\xE9seau" hydraulique de l'\xE9tude. * G\xE9re les \xE9l\xE9ments du r\xE9seau \xE0 savoirs : les biefs, les casiers, les liaisons avec les casiers, Modified: trunk/fudaa_devel/dodico/src/org/fudaa/dodico/hydraulique1d/metier/MetierZone.java =================================================================== --- trunk/fudaa_devel/dodico/src/org/fudaa/dodico/hydraulique1d/metier/MetierZone.java 2008-08-12 15:46:01 UTC (rev 3784) +++ trunk/fudaa_devel/dodico/src/org/fudaa/dodico/hydraulique1d/metier/MetierZone.java 2008-08-12 15:46:15 UTC (rev 3785) @@ -13,7 +13,7 @@ import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; import org.fudaa.dodico.hydraulique1d.metier.MetierZone; import org.fudaa.dodico.hydraulique1d.metier.evenement.Notifieur; -import org.fudaa.fudaa.hydraulique1d.CGlobal; +import org.fudaa.dodico.hydraulique1d.CGlobal; /** * Impl\xE9mentation des objets m\xE9tiers "zones" des conditions initiales ou * des d\xE9finitions de sections. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-08-12 15:45:52
|
Revision: 3784 http://fudaa.svn.sourceforge.net/fudaa/?rev=3784&view=rev Author: bmarchan Date: 2008-08-12 15:46:01 +0000 (Tue, 12 Aug 2008) Log Message: ----------- Classe g?\195?\169n?\195?\169ralis?\195?\169e a toutes g?\195?\169om?\195?\169tries. Modified Paths: -------------- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorGeometryCollector.java Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorGeometryCollector.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorGeometryCollector.java 2008-08-12 15:06:48 UTC (rev 3783) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorGeometryCollector.java 2008-08-12 15:46:01 UTC (rev 3784) @@ -10,31 +10,35 @@ import java.util.ArrayList; import java.util.List; +import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.LineString; import com.vividsolutions.jts.geom.LinearRing; +import com.vividsolutions.jts.geom.MultiPoint; import com.vividsolutions.jts.geom.Point; import com.vividsolutions.jts.geom.Polygon; /** + * Un visiteur pour collectionner les g\xE9om\xE9tries d'un type sp\xE9cifi\xE9 par le masque. * @author fred deniger * @version $Id: GISVisitorLigneCollector.java,v 1.2 2007-02-02 11:20:05 deniger Exp $ */ public class GISVisitorGeometryCollector extends GISVisitorDefault { - final List l_ = new ArrayList(); - final boolean onlyPolygones_; + final List<Geometry> l_ = new ArrayList<Geometry>(); + int mask_=GISLib.MASK_ALL; - public GISVisitorGeometryCollector(final boolean _onlyPolygones) { + public GISVisitorGeometryCollector(final int _mask) { super(); - onlyPolygones_ = _onlyPolygones; + mask_=_mask; } public boolean visitPoint(final Point _p) { + if ((mask_&GISLib.MASK_POINT)!=0) l_.add(_p); return true; } public boolean visitPolygone(final LinearRing _p) { - l_.add(_p); + if ((mask_&GISLib.MASK_POLYGONE)!=0) l_.add(_p); return true; } @@ -43,13 +47,16 @@ } public boolean visitPolyligne(final LineString _p) { - if (!onlyPolygones_) { - l_.add(_p); - } + if ((mask_&GISLib.MASK_POLYLINE)!=0) l_.add(_p); return true; } - public List getPolygones() { + public boolean visitMultiPoint(final MultiPoint _p) { + if ((mask_&GISLib.MASK_MULTIPOINT)!=0) l_.add(_p); + return true; + } + + public List<Geometry> getGeometries() { return l_; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2008-08-12 15:06:41
|
Revision: 3783 http://fudaa.svn.sourceforge.net/fudaa/?rev=3783&view=rev Author: hadouxad Date: 2008-08-12 15:06:48 +0000 (Tue, 12 Aug 2008) Log Message: ----------- - integration de la scene dans fudaa prepro : creation de la classe TrPostLayoutFille extends BuInternalFrame - integration des actions de bases (alignements, arriere, avant plan et duplication) - integration de la palette de base (pour le moment ractangle et fleche) - ajout des l ouverture du calque de resultat (possibiliter d editer, de dupliauer et supprimer la legende du bidule) Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeBuilder.java Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeBuilder.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeBuilder.java 2008-08-12 15:04:53 UTC (rev 3782) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostCourbeBuilder.java 2008-08-12 15:06:48 UTC (rev 3783) @@ -100,6 +100,7 @@ final String titre = TrResource.getS("Evolutions temporelles"); CtuluDialogPanel pn = chooser; + //FIXME: a remplacer par une recherche des frames dans le layout actif. final List fr = TrPostCourbeFille.getCourbeFilleFrames(_src.getImpl()); final FudaaInternalFrameSelectorPanel pnFrame = fr.size() == 0 ? null : new FudaaInternalFrameSelectorPanel(fr, TrLib.getString("Afficher les \xE9volutions temporelles dans une nouvelle fen\xEAtre"), titre); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2008-08-12 15:04:45
|
Revision: 3782 http://fudaa.svn.sourceforge.net/fudaa/?rev=3782&view=rev Author: hadouxad Date: 2008-08-12 15:04:53 +0000 (Tue, 12 Aug 2008) Log Message: ----------- - integration de la scene dans fudaa prepro : creation de la classe TrPostLayoutFille extends BuInternalFrame - integration des actions de bases (alignements, arriere, avant plan et duplication) - integration de la palette de base (pour le moment ractangle et fleche) - ajout des l ouverture du calque de resultat (possibiliter d editer, de dupliauer et supprimer la legende du bidule) Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrPostImplementation.java Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrPostImplementation.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrPostImplementation.java 2008-08-12 15:03:56 UTC (rev 3781) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/TrPostImplementation.java 2008-08-12 15:04:53 UTC (rev 3782) @@ -32,10 +32,14 @@ super(); } + //FIXME adrien: comment modifier cela poru prendre en compte le layout fille public void doImportProject() { - if (getCurrentProject() != null && getCurrentProject().getFille() != null) { + + /*if (getCurrentProject() != null && getCurrentProject().getFille() != null) { TrProjectPersistence.importForFrame(getCurrentProject().getFille(), this); - } + + + }*/ } public void init() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2008-08-12 15:03:50
|
Revision: 3781 http://fudaa.svn.sourceforge.net/fudaa/?rev=3781&view=rev Author: hadouxad Date: 2008-08-12 15:03:56 +0000 (Tue, 12 Aug 2008) Log Message: ----------- - integration de la scene dans fudaa prepro : creation de la classe TrPostLayoutFille extends BuInternalFrame - integration des actions de bases (alignements, arriere, avant plan et duplication) - integration de la palette de base (pour le moment ractangle et fleche) - ajout des l ouverture du calque de resultat (possibiliter d editer, de dupliauer et supprimer la legende du bidule) Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionBackGround.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionDuplicate.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionForeGround.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetJXTree.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionBackGround.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionBackGround.java 2008-08-12 14:51:12 UTC (rev 3780) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionBackGround.java 2008-08-12 15:03:56 UTC (rev 3781) @@ -7,6 +7,9 @@ import javax.swing.AbstractAction; +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; @@ -15,11 +18,13 @@ * @author genesis * */ -public class EbliWidgetActionBackGround extends AbstractAction{ +public class EbliWidgetActionBackGround extends EbliActionSimple{ EbliScene scene_; public EbliWidgetActionBackGround(EbliScene _scene){ + super(EbliResource.EBLI.getString("Arri\xE8re plan"), CtuluResource.CTULU.getIcon("crystal_arriereplan"), "BACKGROUND"); + scene_=_scene; putValue(NAME,"Arri\xE8re plan"); } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionDuplicate.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionDuplicate.java 2008-08-12 14:51:12 UTC (rev 3780) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionDuplicate.java 2008-08-12 15:03:56 UTC (rev 3781) @@ -9,6 +9,9 @@ import javax.swing.AbstractAction; +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; @@ -22,7 +25,7 @@ * @author genesis * */ -public class EbliWidgetActionDuplicate extends AbstractAction{ +public class EbliWidgetActionDuplicate extends EbliActionSimple{ /** * @@ -31,6 +34,7 @@ EbliScene scene_; public EbliWidgetActionDuplicate(EbliScene _scene){ + super(EbliResource.EBLI.getString("dupliquer les objets s\xE9lectionn\xE9s"), CtuluResource.CTULU.getIcon("crystal_copier"), "DUPLICATE"); scene_=_scene; putValue(NAME,"Duplication des \xE9lements s\xE9lectionn\xE9s"); } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionForeGround.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionForeGround.java 2008-08-12 14:51:12 UTC (rev 3780) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionForeGround.java 2008-08-12 15:03:56 UTC (rev 3781) @@ -7,6 +7,9 @@ import javax.swing.AbstractAction; +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; @@ -15,11 +18,13 @@ * @author genesis * */ -public class EbliWidgetActionForeGround extends AbstractAction{ +public class EbliWidgetActionForeGround extends EbliActionSimple{ EbliScene scene_; public EbliWidgetActionForeGround(EbliScene _scene){ + super(EbliResource.EBLI.getString("Premier plan"), CtuluResource.CTULU.getIcon("crystal_analyser"), "FORGROUND"); + scene_=_scene; putValue(NAME,"Premier plan"); } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetJXTree.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetJXTree.java 2008-08-12 14:51:12 UTC (rev 3780) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliWidgetJXTree.java 2008-08-12 15:03:56 UTC (rev 3781) @@ -2,12 +2,13 @@ import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; -import javax.swing.tree.TreeModel; + import org.jdesktop.swingx.JXTree; public class EbliWidgetJXTree extends JXTree implements TreeSelectionListener{ + // modele du tree private EbliWidgetJXTreeModel model_; Added: 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 (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostLayoutFille.java 2008-08-12 15:03:56 UTC (rev 3781) @@ -0,0 +1,360 @@ +package org.fudaa.fudaa.tr.post; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.Point; +import java.awt.event.ActionEvent; + +import org.fudaa.ctulu.CtuluCommandManager; +import org.fudaa.ctulu.CtuluResource; +import org.fudaa.ebli.calque.ZEbliCalquesPanel; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.ebli.ressource.EbliResource; +import org.fudaa.ebli.visuallibrary.EbliNode; +import org.fudaa.ebli.visuallibrary.EbliNodeDefault; +import org.fudaa.ebli.visuallibrary.EbliScene; +import org.fudaa.ebli.visuallibrary.EbliWidgetCreatorFleche; +import org.fudaa.ebli.visuallibrary.EbliWidgetCreatorRectangle; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionAlign; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionBackGround; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionDuplicate; +import org.fudaa.ebli.visuallibrary.actions.EbliWidgetActionForeGround; +import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorVueCalque; +import org.fudaa.ebli.visuallibrary.tree.EbliCheckBoxNodeEditor; +import org.fudaa.ebli.visuallibrary.tree.EbliCheckBoxTreeRenderer; +import org.fudaa.ebli.visuallibrary.tree.EbliWidgetJXTree; +import org.fudaa.ebli.visuallibrary.tree.EbliWidgetJXTreeModel; +import org.fudaa.fudaa.tr.common.TrResource; + +import javax.swing.Box; +import javax.swing.JScrollPane; +import javax.swing.JToolBar; +import javax.swing.JTree; + +import com.memoire.bu.BuBorderLayout; +import com.memoire.bu.BuInternalFrame; +import com.memoire.bu.BuPanel; +import com.memoire.bu.BuResource; +import com.memoire.bu.BuScrollPane; +/** + * InternalFrame qui contient la scene EbliScene. + * @author Adrien Hadoux + * + */ +public class TrPostLayoutFille extends BuInternalFrame { + + /** + * + */ + private static final long serialVersionUID = -2769884291563880931L; + + /** + * scene de l internalFrame. + */ + final private EbliScene scene_; + + /** + * Calque principal associ\xE9 a la vue layout. + */ + private ZEbliCalquesPanel calquePrincipal; + + + + + /** + * Model du Jxtree associe. + */ + private EbliWidgetJXTreeModel modelTree_; + + /** + * Tree associe a la scene. + */ + private EbliWidgetJXTree tree_; + + + + + + + /** + * Constructeur de la fenetre. + */ + public TrPostLayoutFille() { + super(); + // TODO Auto-generated constructor stub + setTitle(TrResource.getS("vue 2D")); + // creation de la scene EBLI + scene_ = new EbliScene(); + + // -- construction du jtree + + // etape 1 construction du model + EbliWidgetJXTreeModel model = new EbliWidgetJXTreeModel(1); + + // etape 2 SUPER IMPORTANT: ajout du model comme listener de la scene + scene_.addEbliNodeListener(model); + + // etape 3 creation du jxtree + tree_ = new EbliWidgetJXTree(model); + + //renderer du jxtree + EbliCheckBoxTreeRenderer renderer = new EbliCheckBoxTreeRenderer(); + tree_.setCellRenderer(renderer); + tree_.setCellEditor(new EbliCheckBoxNodeEditor(tree_)); + tree_.setEditable(true); + //tree_.setPreferredSize(new Dimension(300,600)); + //-- initialisation de la frame --// + init(); + } + + + public ZEbliCalquesPanel getCalquePrincipal() { + return calquePrincipal; + } + + public void setCalquePrincipal(ZEbliCalquesPanel calquePrincipal) { + this.calquePrincipal = calquePrincipal; + } + + public EbliScene getScene_() { + return scene_; + } + + + public EbliWidgetJXTreeModel getModelTree_() { + return modelTree_; + } + + public void setModelTree_(EbliWidgetJXTreeModel modelTree_) { + this.modelTree_ = modelTree_; + } + + public EbliWidgetJXTree getTree_() { + return tree_; + } + + public void setTree_(EbliWidgetJXTree tree_) { + this.tree_ = tree_; + } + + /** + * methode appelee pour l init de la construction de la internalframe + */ + public void init(){ + + //-- creation du conteneur de base qui contient tout --// + BuPanel content =new BuPanel(new BuBorderLayout()); + + //-- creation de la box sur le cote qui contient le tree et la sattelite view --// + Box contentEast=Box.createVerticalBox(); + + + this.add(content); + + this.setLayout(new BuBorderLayout()); + + + + //ajout de la scene au centre + content.add(new JScrollPane(scene_.createView()),BuBorderLayout.CENTER); + + + //FIXME Adrien bug affichage du tree les noeuds sont renfonces sur eux + //ajout du jtree sur la droite + getTree_().setPreferredSize(new Dimension(200,500)); + contentEast.add(new BuScrollPane(getTree_())); + + //-- ajout de la vue sattelite dans la box --// + contentEast.add(getScene_().createSatelliteView()); + + //-- ajout de la box dans le content --// + content.add(contentEast,BuBorderLayout.EAST); + + // content.doLayout(); + //this.pack(); + this.setVisible(true); + + + //-- construction de la barre des commandes de base --// + content.add(buildToolBar(),BuBorderLayout.NORTH); + + + } + + + /** + * Methode generique d ajout d un node widget a la scene. + * @param node + */ + public void addNode(EbliNode node){ + getScene_().addNode(node); + + //-- rafraichissement de la scene pour eviter les plantages --// + getScene_().refresh(); + } + + + /** + * Methode specialisee dans l ajout d un ndoe de type calque a la scene. + * @param title de la widget + * @param preferredLocation de la widget + * @param preferedDimension de la widget + * @param calque contenu de la widget + * @return le node cree + */ + public EbliNode addCalque(String title, Point preferredLocation, Dimension preferedDimension,ZEbliCalquesPanel calque ){ + + //-- enregistrement du calque principal --// + if(calquePrincipal==null) + //-- alors le calque recupere sera considere comem le calque principal --// + setCalquePrincipal(calque); + + + //on ajoute le calque sous forme d'un node + + //construction du node correspondant + final EbliNode nodeCalque = new EbliNodeDefault(); + nodeCalque.setTitle(title); + nodeCalque.setPreferedSize(preferedDimension);//new Dimension(400, 200) + nodeCalque.setPreferedLocation(preferredLocation);//new Point(250, 170) + nodeCalque.setCreator(new EbliWidgetCreatorVueCalque(calque)); + + //ajout du node au layout + addNode(nodeCalque); + + return nodeCalque; + } + + /** + * Methode d ajout de composant de base graphique. + * @return + */ + public EbliNode addRectangle( ){ + // -- ajout du rectangle --// + final EbliNodeDefault nodeRect = new EbliNodeDefault(); + nodeRect.setTitle("Rectangle"); + nodeRect.setCreator(new EbliWidgetCreatorRectangle("Tapez votre texte ici")); + nodeRect.setPreferedSize(new Dimension(200, 100)); + nodeRect.setPreferedLocation(new Point(350, 125)); + //ajout du node au layout + addNode(nodeRect); + + return nodeRect; + } + + /** + * Methode d ajout de composant de base graphique. + * @return + */ + public EbliNode addFleche( ){ + // -- ajout du rectangle --// + final EbliNodeDefault nodeFleche = new EbliNodeDefault(); + nodeFleche.setTitle("Fleche"); + nodeFleche.setCreator(new EbliWidgetCreatorFleche(0)); + nodeFleche.setPreferedSize(new Dimension(100, 50)); + nodeFleche.setPreferedLocation(new Point(350, 125)); + + //ajout du node au layout + addNode(nodeFleche); + + + return nodeFleche; + } + + /** + * Methode utilisee dans la classe fille TrPostFille pour recuperer le calque principal et enregistrer. + * @return + */ + public final ZEbliCalquesPanel getVisuPanel() { + return getCalquePrincipal(); + } + + + /** + * Methode qui construit la toolbar contenant toutes les actions alignements, duplication et premier plan de la scene + * @return + */ + public JToolBar buildToolBar(){ + + JToolBar bar = new JToolBar(); + //-- actions d etat des widgets --// + buildActions(bar); + + //-- action liees a la palette d objets graphiques --// + buildPaletteGraphique(bar); + + bar.setFloatable(false); + + return bar; + } + + + /** + * Ajoute les actions a la toolbar + */ + public void buildActions(JToolBar bar){ + // om met en place le undo/redo + scene_.setCmdMng(new CtuluCommandManager()); + bar.add(new EbliActionSimple("undo", BuResource.BU.getToolIcon("defaire"), "UNDO") { + @Override + public void actionPerformed(ActionEvent _e) { + if (scene_.getCmdMng().canUndo()) + scene_.getCmdMng().undo(); + } + }); + + bar.add(new EbliActionSimple("redo", BuResource.BU.getToolIcon("refaire"), "REDO") { + @Override + public void actionPerformed(ActionEvent _e) { + if (scene_.getCmdMng().canRedo()) + scene_.getCmdMng().redo(); + } + }); + bar.addSeparator(); + //-- actions d alignement --// + bar.add(new EbliWidgetActionAlign.Left(scene_)); + bar.add(new EbliWidgetActionAlign.Right(scene_)); + bar.add(new EbliWidgetActionAlign.Middle(scene_)); + bar.add(new EbliWidgetActionAlign.Center(scene_)); + bar.add(new EbliWidgetActionAlign.Top(scene_)); + bar.add(new EbliWidgetActionAlign.Bottom(scene_)); + bar.addSeparator(); + //-- action de positions --// + bar.add(new EbliWidgetActionForeGround(scene_)); + bar.add(new EbliWidgetActionBackGround(scene_)); + bar.addSeparator(); + //-- action de duplication --// + bar.add(new EbliWidgetActionDuplicate(scene_)); + bar.addSeparator(); + } + + /** + * Ajoute la palette graphique a la toolbar + */ + public void buildPaletteGraphique(JToolBar bar){ + + //-- palette rectangle --// + bar.add(new EbliActionSimple(EbliResource.EBLI.getString("Rectangle texte"), EbliResource.EBLI.getToolIcon("draw-rectangle"), "WIDGETRECTANGLE"){ + public void actionPerformed(ActionEvent _evt) { + System.out.println("je passe dans le actionperformed de layout"); + addRectangle(); + + } + }); + //-- palette fleche --// + bar.add(new EbliActionSimple(EbliResource.EBLI.getString("Fleche"), EbliResource.EBLI.getToolIcon("crystal_bu_link"), "WIDGETFLECHE"){ + public void actionPerformed(ActionEvent _evt) { + System.out.println("je passe dans le actionperformed de layout"); + addFleche(); + //-- rafraichissement de la scene pour eviter les plantages --// + getScene_().refresh(); + } + }); + + //getVisuPanel().getArbreCalqueModel().fillMenu(_m); + } + + + + +} 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-12 14:51:12 UTC (rev 3780) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostProjet.java 2008-08-12 15:03:56 UTC (rev 3781) @@ -8,6 +8,7 @@ package org.fudaa.fudaa.tr.post; import java.awt.Dimension; +import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyVetoException; @@ -56,6 +57,9 @@ import org.fudaa.ebli.courbe.EGAxeHorizontal; import org.fudaa.ebli.courbe.EGGraphe; import org.fudaa.ebli.ressource.EbliResource; +import org.fudaa.ebli.visuallibrary.EbliNodeDefault; +import org.fudaa.ebli.visuallibrary.calque.EbliWidgetCreatorVueCalque; +import org.fudaa.ebli.visuallibrary.graphe.EbliWidgetCreatorGraphe; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.commun.courbe.FudaaCourbeTimeListModel; @@ -236,9 +240,17 @@ } } - + //FIXME: remplacer par une TrPostLayout = scene ADRIEN => remplac\xE9 mais je conserve cette variable pour me rep\xE9rer dans le code la ou je dois faire des modifs transient TrPostFille fille_; - + + /** + * Fenetre fille qui contient le layout scene. + * Cette fenetre remplace petit a petit fille_ + */ + transient TrPostLayoutFille filleLayout_=new TrPostLayoutFille(); + + + transient BuInternalFrame frVariables_; int idx_; @@ -404,10 +416,21 @@ return res; } + /** + * Methode qui qctive l'internalFrame layout. + */ protected void activeFille() { - impl_.addInternalFrame(fille_); + //impl_.addInternalFrame(fille_); + impl_.addInternalFrame(filleLayout_); } + +/** + * Methode appelee apres ouverture du fichier de resultats. + * @param _destGrid + * @param _prog + * @param _isInitGridDisplay + */ protected void activeProjectionAction(final EfGridInterface _destGrid, final ProgressionInterface _prog, final boolean _isInitGridDisplay) { final CtuluAnalyze ana = new CtuluAnalyze(); @@ -417,21 +440,40 @@ _destGrid, null, getSource().isRubar(), false, getImpl()); projection.openDatas(_prog, null, null, getImpl()); projection.buildDefaultVectors(); + + //creation du postprojet 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 TrPostFille compFille = new TrPostFille(pnVisu); + + //creation de l internalframe qui contient le panel de visu + // final TrPostFille compFille = new TrPostFille(pnVisu); + //creation de la scene layout identique a au dessus + final TrPostLayoutFille compFille = new TrPostLayoutFille(); + + //-- on ajoute le panel de visu comm widget calque au layout --// + compFille.addCalque(MvResource.getS("Maillage initial"), new Point(250, 170), new Dimension(400, 200), pnVisu); + + //test si il faut ajouter le calque if (_isInitGridDisplay) { final MvGridLayerGroup src = new MvGridLayerGroup(getSource().getGrid()); src.setTitle(MvResource.getS("Maillage initial")); src.setVisible(false); + + //on ajoute le calque dans le panel visu pnVisu.addCalque(src); + src.monter(); src.monter(); } + + // titre et action de la internalFrame compFille.setTitle(FDicoLib.getS("Projection")); compFille.setClosable(true); compFille.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + //ajout du listener associe a la fille compFille.addInternalFrameListener(new InternalFrameListener() { public void internalFrameActivated(final InternalFrameEvent _e) {} @@ -451,7 +493,10 @@ public void internalFrameOpened(final InternalFrameEvent _e) {} }); - trPostProjet.fille_ = compFille; + //FIXME ca sert a quoi la ligne du dessous??? + //trPostProjet.fille_ = compFille; + trPostProjet.filleLayout_ = compFille; + BuLib.invokeLater(new Runnable() { public void run() { @@ -462,28 +507,79 @@ } + + //TODO adrien a redefinir +// protected void addFille(final TrPostCourbeTreeModel _model, final String _titre, final ProgressionInterface _prog) { +// final EGGraphe graphe = new EGGraphe(_model); +// graphe.setXAxe(buildDefaultTimeAxe()); +// final FudaaGrapheTimeAnimatedVisuPanel pn = new FudaaGrapheTimeAnimatedVisuPanel(graphe, TrPostCourbeBuilder +// .getSpecActions(graphe, impl_, (TrPostVisuPanel) fille_.getVisuPanel())); +// graphe.setCmd(new CtuluCommandManager()); +// final TrPostCourbeFille fille = new TrPostCourbeFille(pn, _titre, impl_, null); +// fille.setPreferredSize(new Dimension(600, 400)); +// fille.setName("fille" + idxFilleG_++); +// fille.setTitle(_titre + CtuluLibString.ESPACE + CtuluLibString.getString(idxFilleG_)); +// fille.setFrameIcon(EbliResource.EBLI.getToolIcon("curves")); +// // pour charger les icones dans un autre thread. +// pn.getSpecificActions(); +// BuLib.invokeLater(new Runnable() { +// +// public void run() { +// fille.pack(); +// //TODO ne plus gerer de fille mais un Node dans la scene +// impl_.addInternalFrame(fille); +// graphe.restore(); +// } +// }); +// } + /** + * refonte de addFille qui ajoute des widgets + * + */ protected void addFille(final TrPostCourbeTreeModel _model, final String _titre, final ProgressionInterface _prog) { - final EGGraphe graphe = new EGGraphe(_model); - graphe.setXAxe(buildDefaultTimeAxe()); - final FudaaGrapheTimeAnimatedVisuPanel pn = new FudaaGrapheTimeAnimatedVisuPanel(graphe, TrPostCourbeBuilder - .getSpecActions(graphe, impl_, (TrPostVisuPanel) fille_.getVisuPanel())); - graphe.setCmd(new CtuluCommandManager()); - final TrPostCourbeFille fille = new TrPostCourbeFille(pn, _titre, impl_, null); - fille.setPreferredSize(new Dimension(600, 400)); - fille.setName("fille" + idxFilleG_++); - fille.setTitle(_titre + CtuluLibString.ESPACE + CtuluLibString.getString(idxFilleG_)); - fille.setFrameIcon(EbliResource.EBLI.getToolIcon("curves")); - // pour charger les icones dans un autre thread. - pn.getSpecificActions(); - BuLib.invokeLater(new Runnable() { + final EGGraphe graphe = new EGGraphe(_model); + graphe.setXAxe(buildDefaultTimeAxe()); + + /* final FudaaGrapheTimeAnimatedVisuPanel pn = new FudaaGrapheTimeAnimatedVisuPanel(graphe, TrPostCourbeBuilder + .getSpecActions(graphe, impl_, (TrPostVisuPanel) fille_.getVisuPanel())); + */ + graphe.setCmd(new CtuluCommandManager()); + /* + final TrPostCourbeFille fille = new TrPostCourbeFille(pn, _titre, impl_, null); + fille.setPreferredSize(new Dimension(600, 400)); + fille.setName("fille" + idxFilleG_++); + fille.setTitle(_titre + CtuluLibString.ESPACE + CtuluLibString.getString(idxFilleG_)); + fille.setFrameIcon(EbliResource.EBLI.getToolIcon("curves")); + + // pour charger les icones dans un autre thread. + pn.getSpecificActions(); + */ + + //--creation du node associe au graphe --// + final EbliNodeDefault nodeG = new EbliNodeDefault(); + nodeG.setCreator(new EbliWidgetCreatorGraphe(graphe)); + nodeG.setTitle("Graphe " + idxFilleG_++); + nodeG.setPreferedSize(new Dimension(600, 400)); + //FIXME adrien comment recuperer la bonne location ? + nodeG.setPreferedLocation(new Point(20, 20)); + + + + BuLib.invokeLater(new Runnable() { - public void run() { - fille.pack(); - impl_.addInternalFrame(fille); - graphe.restore(); - } - }); - } + public void run() { + // fille.pack(); + //TODO adrien ne plus gerer de fille mais un Node dans la scene + //impl_.addInternalFrame(fille); + + //Ajout du node dans la scene + filleLayout_.addNode(nodeG); + graphe.restore(); + } + }); + } + + protected void addSpecificItemInMainMenu(final BuMenu _menu) { @@ -502,12 +598,23 @@ return new TrPostVisuPanel(impl_, this); } + + /** + * Methode qui parametre la frame layout ainsi que le menu associe. + */ protected void decoreFilleVisu() { - fille_.setFrameIcon(EbliResource.EBLI.getToolIcon("lissage")); +// fille_.setFrameIcon(EbliResource.EBLI.getToolIcon("lissage")); + + // fille_.setClosable(true); + // fille_.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + + //-- realisation idem pour fillelayout --// + filleLayout_.setFrameIcon(EbliResource.EBLI.getToolIcon("lissage")); + //filleLayout_.setTitle(s_.getTitle()); + filleLayout_.setClosable(true); + filleLayout_.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); - // fille_.setTitle(s_.getTitle()); - fille_.setClosable(true); - fille_.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + final BuMenuBar menubar = impl_.getMainMenuBar(); final BuMenu menu = new BuMenu(TrResource.getS("Post"), "POST"); menu.setIcon(null); @@ -541,12 +648,19 @@ protected Runnable getRunnableForVisu(final Runnable _other) { return new Runnable() { public void run() { - impl_.addInternalFrame(fille_); - fille_.restaurer(); + //FIXME: ajout le node vue 2d dans la scene et ajouter la scene a impl + // impl_.addInternalFrame(fille_); + + //-- ajout de la frame layout + impl_.addInternalFrame(filleLayout_); + + +// fille_.restaurer(); if (_other != null) { _other.run(); } - fille_.getArbreCalqueModel().getObservable().addObserver(modifyState_); + // fille_.getArbreCalqueModel().getObservable().addObserver(modifyState_); + filleLayout_.getVisuPanel().getArbreCalqueModel().getObservable().addObserver(modifyState_); } }; } @@ -615,7 +729,7 @@ impl_ = _impl; // pour mettre a jour le receveur d'evt impl_.getUndoCmdListener(); - if (fille_ != null) { + if (fille_ != null) { return; // Dans le thread swing } @@ -625,16 +739,35 @@ _impl.setMainMessageAndClear(TrResource .getS("Le fichier des r\xE9sultats a \xE9t\xE9 modifi\xE9: la base de donn\xE9es a \xE9t\xE9 mise \xE0 jour")); } + + //-- lancement du thread d'ouverture du layout avec els widgets calque new CtuluTaskOperationGUI(impl_, TrResource.getS("Ouverture vue 2D...")) { public void act() { final TrPostVisuPanel pnVisu = buildVisuPanel(); - fille_ = new TrPostFille(pnVisu); + + //fille_ = new TrPostFille(pnVisu); + + //--creation de l internalframe layout --// + filleLayout_=new TrPostLayoutFille(); + + //-- ajout du visuPanel au layout --// + filleLayout_.addCalque("Calque principal", pnVisu.getLocation(), pnVisu.getPreferredSize(), pnVisu); + + //-- decoration de la fille layout --// decoreFilleVisu(); + // pour charger les icones dans un thread a part - fille_.getVisuPanel().getController().buildActions(); + // fille_.getVisuPanel().getController().buildActions(); + + //-- construction des actions sans passer par la frame fille --// + filleLayout_.getVisuPanel().getController().buildActions(); + + //FIXME adrien comment remplacer cela? final Runnable other = FudaaSaveLib.restoreMainFille(impl_, getSaveFile(), getOldSaveFile(), fille_, getStateReceiver()); + + BuLib.invokeNow(getRunnableForVisu(other)); } }.start(Thread.MAX_PRIORITY); @@ -708,6 +841,12 @@ if (fille_ != null) { fille_.setClosed(true); } + + //fermetire de la fenetre layout + if(filleLayout_ != null) { + filleLayout_.setClosed(true); + } + } catch (PropertyVetoException e) { // ne rien faire .... } @@ -764,9 +903,9 @@ } - public TrPostFille getFille() { - return fille_; - } +// public TrPostFille getFille() { +// return fille_; +// } public final TrPostCommonImplementation getImpl() { return impl_; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-08-12 14:51:03
|
Revision: 3780 http://fudaa.svn.sourceforge.net/fudaa/?rev=3780&view=rev Author: bmarchan Date: 2008-08-12 14:51:12 +0000 (Tue, 12 Aug 2008) Log Message: ----------- Renomm?\195?\169 en GISVisitorGeometryCollectror Added Paths: ----------- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorGeometryCollector.java Removed Paths: ------------- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorLigneCollector.java Copied: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorGeometryCollector.java (from rev 3779, branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorLigneCollector.java) =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorGeometryCollector.java (rev 0) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorGeometryCollector.java 2008-08-12 14:51:12 UTC (rev 3780) @@ -0,0 +1,56 @@ +/* + * @creation 5 d\xE9c. 06 + * @modification $Date: 2007-02-02 11:20:05 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ctulu.gis; + +import java.util.ArrayList; +import java.util.List; + +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.geom.LinearRing; +import com.vividsolutions.jts.geom.Point; +import com.vividsolutions.jts.geom.Polygon; + +/** + * @author fred deniger + * @version $Id: GISVisitorLigneCollector.java,v 1.2 2007-02-02 11:20:05 deniger Exp $ + */ +public class GISVisitorGeometryCollector extends GISVisitorDefault { + + final List l_ = new ArrayList(); + final boolean onlyPolygones_; + + public GISVisitorGeometryCollector(final boolean _onlyPolygones) { + super(); + onlyPolygones_ = _onlyPolygones; + } + + public boolean visitPoint(final Point _p) { + return true; + } + + public boolean visitPolygone(final LinearRing _p) { + l_.add(_p); + return true; + } + + public boolean visitPolygoneWithHole(final Polygon _p) { + return true; + } + + public boolean visitPolyligne(final LineString _p) { + if (!onlyPolygones_) { + l_.add(_p); + } + return true; + } + + public List getPolygones() { + return l_; + } + +} Property changes on: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorGeometryCollector.java ___________________________________________________________________ Added: svn:mergeinfo + Deleted: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorLigneCollector.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorLigneCollector.java 2008-08-12 12:36:28 UTC (rev 3779) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISVisitorLigneCollector.java 2008-08-12 14:51:12 UTC (rev 3780) @@ -1,56 +0,0 @@ -/* - * @creation 5 d\xE9c. 06 - * @modification $Date: 2007-02-02 11:20:05 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.ctulu.gis; - -import java.util.ArrayList; -import java.util.List; - -import com.vividsolutions.jts.geom.LineString; -import com.vividsolutions.jts.geom.LinearRing; -import com.vividsolutions.jts.geom.Point; -import com.vividsolutions.jts.geom.Polygon; - -/** - * @author fred deniger - * @version $Id: GISVisitorLigneCollector.java,v 1.2 2007-02-02 11:20:05 deniger Exp $ - */ -public class GISVisitorLigneCollector extends GISVisitorDefault { - - final List l_ = new ArrayList(); - final boolean onlyPolygones_; - - public GISVisitorLigneCollector(final boolean _onlyPolygones) { - super(); - onlyPolygones_ = _onlyPolygones; - } - - public boolean visitPoint(final Point _p) { - return true; - } - - public boolean visitPolygone(final LinearRing _p) { - l_.add(_p); - return true; - } - - public boolean visitPolygoneWithHole(final Polygon _p) { - return true; - } - - public boolean visitPolyligne(final LineString _p) { - if (!onlyPolygones_) { - l_.add(_p); - } - return true; - } - - public List getPolygones() { - return l_; - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-08-12 12:36:22
|
Revision: 3779 http://fudaa.svn.sourceforge.net/fudaa/?rev=3779&view=rev Author: bmarchan Date: 2008-08-12 12:36:28 +0000 (Tue, 12 Aug 2008) Log Message: ----------- Modified Paths: -------------- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/find/CalqueFindCourbeTreeModel.java Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/find/CalqueFindCourbeTreeModel.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/find/CalqueFindCourbeTreeModel.java 2008-08-12 12:12:59 UTC (rev 3778) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/find/CalqueFindCourbeTreeModel.java 2008-08-12 12:36:28 UTC (rev 3779) @@ -166,7 +166,7 @@ super(_userObject, false); idxPoly_ = _idx; titre_ = _titre; - if (_userObject.getModele().isLigneFermee(_idx)) { + if (_userObject.getModele().isGeometryFermee(_idx)) { icon_ = EbliResource.EBLI.getIcon("draw-polygon"); } else { icon_ = EbliResource.EBLI.getIcon("draw-polyline"); @@ -177,7 +177,7 @@ if (idxPoly_ >= 0) { final ZCalqueLigneBrisee cq = (ZCalqueLigneBrisee) userObject; - if (cq.getModele().isLigneFermee(idxPoly_)) { + if (cq.getModele().isGeometryFermee(idxPoly_)) { _dest.add(cq.getModele().getGeomData().getGeometry(idxPoly_)); } } else if (((BCalque) userObject).isGroupeCalque()) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <opa...@us...> - 2008-08-12 12:12:50
|
Revision: 3778 http://fudaa.svn.sourceforge.net/fudaa/?rev=3778&view=rev Author: opasteur Date: 2008-08-12 12:12:59 +0000 (Tue, 12 Aug 2008) Log Message: ----------- Corresction du bug sur les donn?\195?\169es affich?\195?\169es lors de la selection de plusieurs casiers ou liaisons Modified Paths: -------------- trunk/fudaa_devel/dodico/src/org/fudaa/dodico/dico/DicoAnalyzer.java trunk/fudaa_devel/dodico/src/org/fudaa/dodico/mascaret/DParametresMascaret.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/PanneauGraphesResultats.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/mascaret/MascaretImplementation.java Modified: trunk/fudaa_devel/dodico/src/org/fudaa/dodico/dico/DicoAnalyzer.java =================================================================== --- trunk/fudaa_devel/dodico/src/org/fudaa/dodico/dico/DicoAnalyzer.java 2008-08-12 10:56:13 UTC (rev 3777) +++ trunk/fudaa_devel/dodico/src/org/fudaa/dodico/dico/DicoAnalyzer.java 2008-08-12 12:12:59 UTC (rev 3778) @@ -661,8 +661,7 @@ } stemp = entite.isDefautValuesValides(); final String app = (String) mapEncours.get(kw_.getApparence()); - System.err.println("app "+app); - System.err.println("stemp "+stemp); + if (stemp != null && ((app == null) || (app.indexOf("IS REQUIRED") < 0))) { analyze_.addFatalError(getQuoteString() + noms[0] + "': " + DicoResource.getS("Les valeurs par d\xE9faut sont invalides"), ligne); @@ -670,6 +669,7 @@ return; } stemp = type.isChoicesValides(); + if (stemp != null) { analyze_.addFatalError(getQuoteString() + noms[0] + "': " + DicoResource.getS("Les valeurs CHOIX sont invalides"), ligne); Modified: trunk/fudaa_devel/dodico/src/org/fudaa/dodico/mascaret/DParametresMascaret.java =================================================================== --- trunk/fudaa_devel/dodico/src/org/fudaa/dodico/mascaret/DParametresMascaret.java 2008-08-12 10:56:13 UTC (rev 3777) +++ trunk/fudaa_devel/dodico/src/org/fudaa/dodico/mascaret/DParametresMascaret.java 2008-08-12 12:12:59 UTC (rev 3778) @@ -1468,7 +1468,6 @@ } private static SParametresProfil mascaretEnteteProfil(String line) throws NoSuchElementException, NumberFormatException { - System.err.println("hjohkh"); StringTokenizer st=new StringTokenizer(line); SParametresProfil res=null; /* String motCle = */ Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/PanneauGraphesResultats.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/PanneauGraphesResultats.java 2008-08-12 10:56:13 UTC (rev 3777) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/PanneauGraphesResultats.java 2008-08-12 12:12:59 UTC (rev 3778) @@ -689,11 +689,11 @@ for (int i= 0; i < nbPasTemps; i++) { int indiceCourbe= 1; - for (int n = 0; n < resCasiersLiasons.length; n++) { + for (int n = 0; n < resCasiersLiasons.length; n++) { for (int j= 0; j < indicesVar.length; j++) { vals= resCasiersLiasons[n].valeursVariables(); - res[indiceCourbe][i]= vals[indicesVar[j]-1][i][0]; + res[indiceCourbe][i]= vals[indicesVar[j]][i][0]; indiceCourbe++; } } Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/mascaret/MascaretImplementation.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2008-08-12 10:56:13 UTC (rev 3777) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2008-08-12 12:12:59 UTC (rev 3778) @@ -1169,6 +1169,16 @@ fdico=new File(SERVEUR_MASCARET.getCheminNoyau(),"dico.txt"); } + if (!fdico.exists()) { + new BuDialogMessage( + (BuCommonInterface) Hydraulique1dBaseApplication.FRAME, + ((BuCommonInterface) Hydraulique1dBaseApplication.FRAME) + .getInformationsSoftware(), + "Le fichier dictionaire n'existe pas !") + .activate(); + return; + } + // Lecture du fichier Mascaret et transfert dans l'objet metier. Notifieur.getNotifieur().setEventMuet(true); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-08-12 10:56:04
|
Revision: 3777 http://fudaa.svn.sourceforge.net/fudaa/?rev=3777&view=rev Author: bmarchan Date: 2008-08-12 10:56:13 +0000 (Tue, 12 Aug 2008) Log Message: ----------- Un calque pour afficher tout type de g?\195?\169om?\195?\169tries. Added Paths: ----------- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueGeometry.java Added: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueGeometry.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueGeometry.java (rev 0) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueGeometry.java 2008-08-12 10:56:13 UTC (rev 3777) @@ -0,0 +1,868 @@ +/* + * @creation 31 mars 2005 + * @modification $Date: 2008-04-01 17:05:16 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ebli.calque; + +import gnu.trove.TIntArrayList; +import gnu.trove.TIntObjectIterator; +import gnu.trove.TObjectIntHashMap; + +import java.awt.Color; +import java.awt.Graphics; +import java.awt.Graphics2D; + +import org.nfunk.jep.Variable; + +import com.memoire.fu.FuLog; +import com.vividsolutions.jts.algorithm.SIRtreePointInRing; +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.CoordinateSequence; +import com.vividsolutions.jts.geom.Envelope; +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.LineString; +import com.vividsolutions.jts.geom.LinearRing; + +import org.fudaa.ctulu.CtuluExpr; +import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.CtuluLibArray; +import org.fudaa.ctulu.CtuluListSelection; +import org.fudaa.ctulu.CtuluListSelectionInterface; +import org.fudaa.ctulu.gis.GISAttributeInterface; +import org.fudaa.ctulu.gis.GISCoordinateSequenceContainerInterface; +import org.fudaa.ctulu.gis.GISGeometryFactory; +import org.fudaa.ctulu.gis.GISLib; +import org.fudaa.ctulu.gis.GISZoneCollection; + +import org.fudaa.ebli.calque.find.CalqueFindExpression; +import org.fudaa.ebli.commun.EbliLib; +import org.fudaa.ebli.commun.EbliListeSelectionMulti; +import org.fudaa.ebli.commun.EbliListeSelectionMultiInterface; +import org.fudaa.ebli.commun.EbliSelectionMode; +import org.fudaa.ebli.commun.EbliSelectionState; +import org.fudaa.ebli.commun.EbliUIProperties; +import org.fudaa.ebli.find.EbliFindExpressionContainerInterface; +import org.fudaa.ebli.geometrie.GrBoite; +import org.fudaa.ebli.geometrie.GrMorphisme; +import org.fudaa.ebli.geometrie.GrPoint; +import org.fudaa.ebli.trace.TraceIcon; +import org.fudaa.ebli.trace.TraceIconModel; +import org.fudaa.ebli.trace.TraceLigne; +import org.fudaa.ebli.trace.TraceLigneModel; + +/** + * Un calque g\xE9rant des g\xE9om\xE9tries quelconques, \xE0 un niveau global ou atomique.<p> + * Le niveau atomique des g\xE9om\xE9tries est le niveau sommet. Le calque s'appuie sur un mod\xE8le + * {@link ZModeleGeometry}. + * + * @author Bertrand Marchand + * @version $Id: ZCalqueMultiPoint.java,v 1.1.2.2 2008-04-01 17:05:16 bmarchan Exp $ + */ +public class ZCalqueGeometry extends ZCalqueAffichageDonneesLineAbstract { + + /** + * @author Fred Deniger + * @version $Id: ZCalqueMultiPoint.java,v 1.1.2.2 2008-04-01 17:05:16 bmarchan Exp $ + */ + private class VariableNonAtomicFindExpression extends CalqueFindExpression { + + TObjectIntHashMap varAtt_; + + public VariableNonAtomicFindExpression() { + super(ZCalqueGeometry.this.modeleDonnees()); + } + + public void initialiseExpr(final CtuluExpr _expr) { + super.initialiseExpr(_expr); + final GISZoneCollection coll = ((ZModeleGeom) super.data_).getGeomData(); + final int nb = coll.getNbAttributes(); + if (nb > 0) { + if (varAtt_ == null) { + varAtt_ = new TObjectIntHashMap(nb); + } else { + varAtt_.clear(); + } + for (int i = 0; i < nb; i++) { + final GISAttributeInterface att = coll.getAttribute(i); + if (!att.isAtomicValue() && Number.class.isAssignableFrom(att.getDataClass())) { + varAtt_.put(_expr.addVar(att.getName(), att.getLongName()), i); + } + } + } + + } + + public void majVariable(final int _idx, final Variable[] _varToUpdate) { + super.majVariable(_idx, _varToUpdate); + if (varAtt_ != null && !CtuluLibArray.isEmpty(_varToUpdate)) { + final GISZoneCollection coll = ((ZModeleGeom) super.data_).getGeomData(); + for (int i = _varToUpdate.length - 1; i >= 0; i--) { + if (varAtt_.containsKey(_varToUpdate[i])) { + _varToUpdate[i].setValue(CtuluLib.getDouble(((Number) coll.getDataModel(varAtt_.get(_varToUpdate[i])) + .getObjectValueAt(_idx)).doubleValue())); + } + } + } + } + + } + + /** true si edition de sommets */ + transient private boolean isAtomicMode_; + + protected ZModeleGeometry modele_; + + /** La selection a utilise dans le mode selection sommets */ + protected EbliListeSelectionMulti selectionMulti_; + + + /** + * Le seul constructeur, avec le mod\xE8le. + * @param _modele le modele du calque + */ + public ZCalqueGeometry(final ZModeleGeometry _modele) { + modele_ = _modele; + iconModel_ = new TraceIconModel(TraceIcon.CARRE_PLEIN, 2, Color.BLACK); + } + + protected EbliListeSelectionMulti creeSelectionMutli() { + return new EbliListeSelectionMulti(modeleDonnees().getNombre() / 2); + } + + protected void initTrace(final TraceIconModel _icon, final int _idxPoly) { + _icon.updateData(getIconModel(0)); + if (isAttenue()) { + _icon.setCouleur(EbliLib.getAlphaColor(attenueCouleur(_icon.getCouleur()), alpha_)); + } else if (EbliLib.isAlphaChanged(alpha_)) { + _icon.setCouleur(EbliLib.getAlphaColor(_icon.getCouleur(), alpha_)); + } + } + + protected void initTrace(final TraceLigneModel _ligne, final int _idxGeom) { + final int idx = modele_.isGeometryFermee(_idxGeom) ? 0 : 1; + _ligne.updateData(getLineModel(idx)); + if (isAttenue()) { + _ligne.setCouleur(EbliLib.getAlphaColor(attenueCouleur(_ligne.getCouleur()), alpha_)); + } else if (EbliLib.isAlphaChanged(alpha_)) { + _ligne.setCouleur(EbliLib.getAlphaColor(_ligne.getCouleur(), alpha_)); + } + } + + protected void paintSelectionMulti(final Graphics _g, final ZSelectionTrace _trace, final GrMorphisme _versEcran, + final GrBoite _clipReel) { + if ((isRapide()) || (isSelectionEmpty())) { + return; + } + final GrBoite clip = _clipReel; + if (!getDomaine().intersectXY(clip)) { + return; + } + Color cs = _trace.getColor(); + if (isAttenue()) { + cs = attenueCouleur(cs); + } + _g.setColor(cs); + final TraceIcon ic = _trace.getIconeInterne(); + final TIntObjectIterator it = selectionMulti_.getIterator(); + final GrPoint p = new GrPoint(); + final GrMorphisme versEcran = _versEcran; + for (int i = selectionMulti_.getNbListSelected(); i-- > 0;) { + it.advance(); + final CtuluListSelectionInterface s = (CtuluListSelectionInterface) it.value(); + if (!s.isEmpty()) { + final int idxPoly = it.key(); + final int min = s.getMinIndex(); + for (int j = s.getMaxIndex(); j >= min; j--) { + if (s.isSelected(j)) { + modele_.point(p, idxPoly, j); + if (clip.contientXY(p)) { + p.autoApplique(versEcran); + ic.paintIconCentre(this, _g, p.x_, p.y_); + } + } + } + } + } + } + + public boolean changeSelection(final GrPoint _pt, final int _tolerancePixel, final int _action) { + if (isAtomicMode_) { + final EbliListeSelectionMulti l = selectionMulti(_pt, _tolerancePixel); + changeSelectionMulti(l, _action); + if ((l == null) || (l.isEmpty())) { + return false; + } + return true; + } + return super.changeSelection(_pt, _tolerancePixel, _action); + } + + public boolean changeSelection(final LinearRing _poly, final int _action, final int _mode) { + if (isAtomicMode_) { + final EbliListeSelectionMulti l = selectionMulti(_poly); + changeSelectionMulti(l, _action); + if ((l == null) || (l.isEmpty())) { + return false; + } + return true; + } + return super.changeSelection(_poly, _action, _mode); + } + + private void changeSelectionMulti(final EbliListeSelectionMulti _s, final int _action) { + // Si la selection de modif est nulle, seule l'action de remplacement + // est concernee. + if (selectionMulti_ == null) { + selectionMulti_ = creeSelectionMutli(); + } + boolean sentEvent = false; + switch (_action) { + case EbliSelectionState.ACTION_ADD: + sentEvent = selectionMulti_.add(_s); + break; + case EbliSelectionState.ACTION_DEL: + sentEvent = selectionMulti_.remove(_s); + break; + case EbliSelectionState.ACTION_XOR: + sentEvent = selectionMulti_.xor(_s); + break; + case EbliSelectionState.ACTION_REPLACE: + selectionMulti_.setSelection(_s); + sentEvent = true; + break; + default: + break; + } + if (sentEvent) { + fireSelectionEvent(); + } + } + + public void clearSelection() { + // dans le mode edition de noeuds + if (isAtomicMode_) { + if (selectionMulti_ != null && !selectionMulti_.isEmpty()) { + + selectionMulti_.clear(); + fireSelectionEvent(); + } + } else { + super.clearSelection(); + } + } + + public EbliFindExpressionContainerInterface getExpressionContainer() { + if (isAtomicMode_) { + return new CalqueFindExpression(modele_); + } + return new VariableNonAtomicFindExpression(); + } + + public EbliListeSelectionMultiInterface getLayerSelectionMulti() { + return selectionMulti_; + } + + public int getNbSelected() { + if (isSelectionEmpty()) { + return 0; + } + if (isAtomicMode_) { + return selectionMulti_.getNbListSelected(); + } + return super.getNbSelected(); + } + + public int[] getSelectedIndex() { + if (isSelectionEmpty()) { + return null; + } + if (isAtomicMode_) { + return selectionMulti_.getIdxSelected(); + } + return super.getSelectedIndex(); + } + + public int[] getSelectedObjectInTable() { + if (isSelectionEmpty()) { + return null; + } + if (!isAtomicMode_) { + return super.getSelectedObjectInTable(); + } + final EbliListeSelectionMultiInterface multi = getLayerSelectionMulti(); + int nb = 0; + // 20 points par lignes + final TIntArrayList list = new TIntArrayList(modele_.getNombre() * 20); + final int nbLigne = modele_.getNombre(); + for (int i = 0; i < nbLigne; i++) { + final CtuluListSelectionInterface sel = multi.getSelection(i); + if (sel != null) { + final int max = sel.getMaxIndex(); + for (int j = sel.getMinIndex(); j <= max; j++) { + if (sel.isSelected(j)) { + list.add(nb + j); + } + } + + } + nb += modele_.getNbPointForGeometry(i); + } + + return list.toNativeArray(); + } + + public GrBoite getDomaineOnSelected() { + if (isSelectionEmpty()) { + return null; + } + final Envelope env = new Envelope(); + if (isAtomicMode_) { + final EbliListeSelectionMultiInterface multi = getLayerSelectionMulti(); + final TIntObjectIterator it = multi.getIterator(); + for (int i = multi.getNbListSelected(); i-- > 0;) { + it.advance(); + final CtuluListSelectionInterface atomSel = (CtuluListSelectionInterface) it.value(); + final Geometry g = (Geometry) modele_.getGeomData().getGeometry(it.key()); + final int max = atomSel.getMaxIndex(); + for (int j = atomSel.getMinIndex(); j <= max; j++) { + if (atomSel.isSelected(j)) { + env.expandToInclude(g.getCoordinates()[j]); + } + } + } + + } else { + final CtuluListSelectionInterface sel = getLayerSelection(); + final int max = sel.getMaxIndex(); + for (int i = sel.getMinIndex(); i <= max; i++) { + if (sel.isSelected(i)) { + env.expandToInclude(modele_.getGeomData().getGeometry(i).getEnvelopeInternal()); + } + } + } + final GrBoite r = new GrBoite(); + r.ajuste(env.getMaxX(), env.getMaxY(), 0); + r.ajuste(env.getMinX(), env.getMinY(), 0); + return r; + } + + public void initFrom(final EbliUIProperties _p) { + if (_p != null) { + super.initFrom(_p); + if (_p.isDefined("calqueGIS.ligneModel")) { + setLineModel(0, (TraceLigneModel) _p.get("calqueGIS.ligneModel")); + } + } + } + + public void inverseSelection() { + if (!isAtomicMode_) { + super.inverseSelection(); + return; + } + if (isSelectionEmpty()) { + return; + } + for (int i = modele_.getNombre() - 1; i >= 0; i--) { + final CtuluListSelection s = selectionMulti_.get(i); + if (s != null) { + s.inverse(modele_.getNbPointForGeometry(i)); + } + } + fireSelectionEvent(); + } + + /** + * @return true si on est dans le mode edition de noeuds + */ + public boolean isAtomicMode() { + return isAtomicMode_; + } + + public boolean isPaletteModifiable() { + return false; + } + + /** + * Indique si la s\xE9lection est vide. + * @return true Si aucun objet ni aucun point en mode atomique selectionn\xE9. + */ + public boolean isSelectionEmpty() { + return isAtomicMode_ ? selectionMulti_ == null ? true : selectionMulti_.isEmpty() : super.isSelectionEmpty(); + } + + public boolean isTitleModifiable() { + return true; + } + + /** + * @param _modele Modele + */ + public void modele(final ZModeleGeometry _modele) { + if (modele_ != _modele) { + final ZModeleGeometry vp = modele_; + modele_ = _modele; + firePropertyChange("modele", vp, modele_); + } + } + + public ZModeleDonnees modeleDonnees() { + return modele_; + } + + /** + * @param _g + */ + public void paintDonnees(final Graphics2D _g, final GrMorphisme _versEcran, final GrMorphisme _versReel, + final GrBoite _clipReel) { + if ((modele_ == null) || (modele_.getNombre() <= 0)) { + return; + } + final GrBoite clip = _clipReel; + final GrMorphisme versEcran = _versEcran; + final int nombre = modele_.getNombre(); + + final TraceIconModel iconeModel = iconModel_ == null ? null : new TraceIconModel(iconModel_); + + final TraceIcon icone; + if (isRapide()) { + icone=new TraceIcon(TraceIcon.CARRE,2,iconeModel.getCouleur()); + } + else + icone = iconeModel == null ? null : new TraceIcon(iconeModel); + + final TraceLigne tl; + if (isRapide()) + tl=new TraceLigne(TraceLigne.LISSE,1,ligneModel_.getCouleur()); + else + tl= ligneModel_.buildCopy(); + + final GrBoite bPoly = new GrBoite(); + bPoly.o_ = new GrPoint(); + bPoly.e_ = new GrPoint(); + + // on part de la fin : comme ca la premiere ligne apparait au-dessus + for (int i = nombre - 1; i >= 0; i--) { + if (!modele_.isGeometryReliee(i)) + continue; + + // il n'y a pas de points pour cette g\xE9om\xE9trie + final int nbPoints=modele_.getNbPointForGeometry(i); + if (nbPoints <= 0) + continue; + + modele_.getDomaineForGeometry(i, bPoly); + // Si la boite du polygone n'est pas dans la boite d'affichage on passe + if (bPoly.intersectionXY(clip) == null) { + continue; + } + + final GrPoint ptOri = new GrPoint(); + modele_.point(ptOri, i, nbPoints - 1); + ptOri.autoApplique(versEcran); + + if (!isRapide()) initTrace(ligneModel_, i); + final GrPoint ptDest = new GrPoint(); + for (int j = nbPoints - 2; j >= 0; j--) { + // le point de dest est initialise + modele_.point(ptDest, i, j); + ptDest.autoApplique(versEcran); + tl.dessineTrait(_g, ptOri.x_, ptOri.y_, ptDest.x_, ptDest.y_); + ptOri.initialiseAvec(ptDest); + } + if (modele_.isGeometryFermee(i)) { + modele_.point(ptOri, i, nbPoints - 1); + ptOri.autoApplique(versEcran); + tl.dessineTrait(_g, ptOri.x_, ptOri.y_, ptDest.x_, ptDest.y_); + } + modele_.point(ptOri, i, nbPoints - 1); + ptOri.autoApplique(versEcran); + } + + // on trace les icones apres pour qu'ils soient dessin\xE9s au-dessus des lignes. + if (icone != null) { + for (int i = nombre - 1; i >= 0; i--) { + // il n'y a pas de points pour cette ligne + if (modele_.getNbPointForGeometry(i) <= 0) { + continue; + } + modele_.getDomaineForGeometry(i, bPoly); + // Si la boite du polygone n'est pas dans la boite d'affichage on passe + if (bPoly.intersectionXY(clip) == null) { + continue; + } + final int nbPoints = modele_.getNbPointForGeometry(i); + if (nbPoints <= 0) { + continue; + } + if (!isRapide()) initTrace(iconeModel, i); + final GrPoint ptDest = new GrPoint(); + for (int j = nbPoints - 1; j >= 0; j--) { + // le point de dest est initialise + modele_.point(ptDest, i, j); + if (!_clipReel.contientXY(ptDest)) { + continue; + } + ptDest.autoApplique(versEcran); + icone.paintIconCentre(this, _g, ptDest.x_, ptDest.y_); + } + } + } + } + + public void paintSelection(final Graphics2D _g, final ZSelectionTrace _trace, final GrMorphisme _versEcran, + final GrBoite _clipReel) { + if (isSelectionEmpty()) return; + + if (isAtomicMode_) { + CtuluListSelection containers=new CtuluListSelection(selectionMulti_.getIdxSelection()); + paintSelectionSimple(_g, _trace, _versEcran, _clipReel, containers); + paintSelectionMulti(_g, _trace, _versEcran, _clipReel); + } else { + paintSelectionSimple(_g, _trace, _versEcran, _clipReel, selection_); + } + } + + public void paintSelectionSimple(final Graphics _g, final ZSelectionTrace _trace, final GrMorphisme _versEcran, + final GrBoite _clipReel, CtuluListSelection _containers) { + if ((isRapide()) || (isSelectionEmpty())) { + return; + } + final GrBoite clip = _clipReel; + if (getDomaine() == null || !getDomaine().intersectXY(clip)) { + return; + } + final GrMorphisme versEcran = _versEcran; + Color cs = _trace.getColor(); + if (isAttenue()) { + cs = attenueCouleur(cs); + } + _g.setColor(cs); + final TraceLigne tlSelection = _trace.getLigne(); + final TraceIcon ic = _trace.getIcone(); + final int nb = Math.min(_containers.getMaxIndex(), modele_.getNombre() - 1); + + final GrBoite btGeom = new GrBoite(); + btGeom.e_ = new GrPoint(); + btGeom.o_ = new GrPoint(); + for (int i = nb; i >= 0; i--) { + if (!_containers.isSelected(i)) { + continue; + } + modele_.getDomaineForGeometry(i, btGeom); + // Si la boite de la geometrie n'est pas dans la boite d'affichage on passe + if (btGeom.intersectionXY(clip) == null) { + continue; + } + + final int nbPoints = modele_.getNbPointForGeometry(i); + boolean bferm=modele_.isGeometryFermee(i); + boolean breli=modele_.isGeometryReliee(i); + + final GrPoint ptOri = new GrPoint(); + modele_.point(ptOri, i, nbPoints - 1); + ptOri.autoApplique(versEcran); + ic.paintIconCentre(this, _g, ptOri.x_, ptOri.y_); + final GrPoint ptDest = new GrPoint(); + for (int j = nbPoints - 2; j >= 0; j--) { + // le point de dest est initialise + modele_.point(ptDest, i, j); + ptDest.autoApplique(versEcran); + ic.paintIconCentre(this, _g, ptDest.x_, ptDest.y_); + if (breli) + tlSelection.dessineTrait((Graphics2D) _g, ptOri.x_, ptOri.y_, ptDest.x_, ptDest.y_); + ptOri.initialiseAvec(ptDest); + } + if (bferm) { + modele_.point(ptOri, i, nbPoints - 1); + ptOri.autoApplique(versEcran); + if (breli) + tlSelection.dessineTrait((Graphics2D) _g, ptOri.x_, ptOri.y_, ptDest.x_, ptDest.y_); + } + } + } + + public void selectAll() { + if (!isVisible()) return; + + if (!isAtomicMode_) { + super.selectAll(); + return; + } + if (selectionMulti_ == null) { + selectionMulti_ = creeSelectionMutli(); + } + for (int i = modele_.getNombre() - 1; i >= 0; i--) { + CtuluListSelection s = selectionMulti_.get(i); + if (s == null) { + s = new CtuluListSelection(modele_.getNbPointForGeometry(i)); + selectionMulti_.set(i, s); + } + s.setSelectionInterval(0, modele_.getNbPointForGeometry(i) - 1); + } + fireSelectionEvent(); + } + + public CtuluListSelection selection(final GrPoint _pt, final int _tolerance) { + if (modele_.getNombre() == 0) { + return null; + } + final GrBoite bClip = getDomaine(); + if (bClip == null) { + return null; + } + final double distanceReel = GrMorphisme.convertDistanceXY(getVersReel(), _tolerance); + if ((!bClip.contientXY(_pt)) && (bClip.distanceXY(_pt) > distanceReel)) { + return null; + } + + final GrPoint pt=new GrPoint(); + final GrBoite bPoly = new GrBoite(new GrPoint(), new GrPoint()); + for (int i = modele_.getNombre() - 1; i >= 0; i--) { + modele_.getDomaineForGeometry(i, bPoly); + if (bPoly.contientXY(_pt)||bPoly.distanceXY(_pt)<distanceReel) { + for (int j=modele_.getNbPointForGeometry(i)-1; j>=0; j--) { + modele_.point(pt, i, j); + if (pt.distanceXY(_pt)<distanceReel) { + final CtuluListSelection r=new CtuluListSelection(1); + r.setSelectionInterval(i, i); + return r; + } + } + } + } + return null; + } + + public CtuluListSelection selection(final LinearRing _poly, final int _mode) { + if (modele_.getNombre() == 0 || !isVisible()) { + return null; + } + final Envelope polyEnv = _poly.getEnvelopeInternal(); + final GrBoite domaineBoite = getDomaine(); + final Envelope domaine = new Envelope(domaineBoite.e_.x_, domaineBoite.o_.x_, domaineBoite.e_.y_, + domaineBoite.o_.y_); + // si l'envelop du polygone n'intersect pas le domaine, il n'y a pas de + // selection + if (!polyEnv.intersects(domaine)) { + return null; + } + + final SIRtreePointInRing tester = new SIRtreePointInRing(_poly); + final Coordinate c = new Coordinate(); + final CtuluListSelection r = creeSelection(); + final GrPoint p = new GrPoint(); + final GrBoite bPoly = new GrBoite(new GrPoint(), new GrPoint()); + for (int i = modeleDonnees().getNombre() - 1; i >= 0; i--) { + modele_.getDomaineForGeometry(i, bPoly); + // si le poly est dans dans le poly de selection + boolean selected = false; + if (_mode == EbliSelectionMode.MODE_ALL) { + if (polyEnv.contains(bPoly.e_.x_, bPoly.e_.y_) && polyEnv.contains(bPoly.o_.x_, bPoly.o_.y_)) { + selected = true; + for (int j = modele_.getNbPointForGeometry(i) - 1; (j >= 0) && selected; j--) { + modele_.point(p, i, j); + c.x = p.x_; + c.y = p.y_; + if (!tester.isInside(c)) { + selected = false; + } + } + } + } else if (_mode == EbliSelectionMode.MODE_ONE) { + if (polyEnv.intersects(bPoly.getEnv())) { + for (int j = modele_.getNbPointForGeometry(i) - 1; (j >= 0) && !selected; j--) { + modele_.point(p, i, j); + c.x = p.x_; + c.y = p.y_; + if (GISLib.isSelectedEnv(c, _poly, polyEnv, tester)) { + selected = true; + } + } + } + + } else if (_mode == EbliSelectionMode.MODE_CENTER) { + final CoordinateSequence coordinateSequence = modele_.getGeomData().getCoordinateSequence(i); + c.x = GISLib.getMoyX(coordinateSequence); + c.y = GISLib.getMoyY(coordinateSequence); + selected = GISLib.isSelectedEnv(c, _poly, polyEnv, tester); + + } + if (selected) { + r.add(i); + } + } + if (r.isEmpty()) { + return null; + } + return r; + } + + /** + * Renvoie la liste des objets selectionnees pour le point <code>_pt</code> avec pour tolerance + * <code>_tolerance</code>. + * + * @param _pt + * @param _tolerance + * @return la liste des indexs selectionnes (ou null si aucune selection) + */ + public EbliListeSelectionMulti selectionMulti(final GrPoint _pt, final int _tolerance) { + final GrMorphisme versReel = getVersReel(); + GrBoite bClip = getDomaine(); + if (bClip == null || (!bClip.contientXY(_pt)) && (bClip.distanceXY(_pt) > _tolerance)) { + return null; + } + final double distanceReel = GrMorphisme.convertDistanceXY(versReel, _tolerance); + bClip = getClipReel(getGraphics()); + final GrPoint p = new GrPoint(); + final GrBoite btLigne = new GrBoite(); + for (int i = modele_.getNombre() - 1; i >= 0; i--) { + modele_.getDomaineForGeometry(i, btLigne); + if (btLigne.contientXY(_pt) || btLigne.distanceXY(_pt) < distanceReel) { + for (int j = modele_.getNbPointForGeometry(i) - 1; j >= 0; j--) { + modele_.point(p, i, j); + if (bClip.contientXY(p) && (p.distanceXY(_pt) < distanceReel)) { + final EbliListeSelectionMulti r = new EbliListeSelectionMulti(1); + r.set(i, j); + return r; + } + } + } + } + return null; + } + + public EbliListeSelectionMulti selectionMulti(final LinearRing _poly) { + if (modele_.getNombre() == 0 || !isVisible()) { + return null; + } + final Envelope polyEnv = _poly.getEnvelopeInternal(); + final GrBoite domaineBoite = getDomaine(); + final Envelope domaine = new Envelope(domaineBoite.e_.x_, domaineBoite.o_.x_, domaineBoite.e_.y_, + domaineBoite.o_.y_); + // si l'envelop du polygone n'intersect pas le domaine, il n'y a pas de + // selection + if (!polyEnv.intersects(domaine)) { + return null; + } + final EbliListeSelectionMulti r = creeSelectionMutli(); + final GrPoint p = new GrPoint(); + final SIRtreePointInRing tester = new SIRtreePointInRing(_poly); + final Coordinate c = new Coordinate(); + for (int i = modele_.getNombre() - 1; i >= 0; i--) { + CtuluListSelection l = null; + final int nbPt = modele_.getNbPointForGeometry(i); + for (int j = nbPt - 1; j >= 0; j--) { + modele_.point(p, i, j); + c.x = p.x_; + c.y = p.y_; + if ((polyEnv.contains(c)) && (tester.isInside(c))) { + if (l == null) { + l = new CtuluListSelection(nbPt); + } + l.add(j); + } + } + if (l != null) { + r.set(i, l); + } + } + if (r.isEmpty()) { + return null; + } + return r; + } + + /** + * D\xE9finit que les modifications d'objets auront lieu en mode atomique. + * @param _new true : Modifications en mode atomique. + * @return true si l'appel a produit un changement de mode. + */ + public boolean setAtomicMode(final boolean _new) { + if (_new != isAtomicMode_) { + isAtomicMode_ = _new; + firePropertyChange("mode", !isAtomicMode_, isAtomicMode_); + clearSelection(); + return true; + } + return false; + } + + public boolean setSelection(final int[] _idx) { + if (!isAtomicMode_) { + return super.setSelection(_idx); + } + // TODO : Traitement a faire si on est en mode atomique. + FuLog.warning("EBL:ZCalqueLigneBrisee.setSelection() can't be called in atomic mode"); + return false; + } + + public boolean setTitle(final String _title) { + final boolean r = super.setTitle(_title); + if (r && modele_ != null && modele_.getGeomData() != null) { + modele_.getGeomData().setTitle(_title, null); + } + return r; + } + + private LineString createLineFromSelection(final int _i, final CtuluListSelectionInterface _selection, final int _nbSelected) { + final GISCoordinateSequenceContainerInterface geom = (GISCoordinateSequenceContainerInterface) modele_.getGeomData().getGeometry(_i); + final Coordinate[] cs = new Coordinate[_nbSelected]; + final int[] idx = _selection.getSelectedIndex(); + for (int j = 0; j < _nbSelected; j++) { + cs[j] = geom.getCoordinateSequence().getCoordinate(idx[j]); + } + return GISGeometryFactory.INSTANCE.createLineString(cs); + } + + public LineString getSelectedLine() { + if (isSelectionEmpty()) { + return null; + } + // en mode normal (pas de vertex selectionne), on renvoie la ligne s\xE9lectionn\xE9e + if (!isAtomicMode()) { +// return getLayerSelection().getNbSelectedIndex() == 1 ? (LineString) modele_.getGeomData().getGeometry( +// getLayerSelection().getMaxIndex()) : null; + throw new UnsupportedOperationException("Can't create line from vertices"); + } + // mode vertex + final EbliListeSelectionMultiInterface select = getLayerSelectionMulti(); + // mode vertex + // la selection se situe dans la meme ligne + if (select.getNbListSelected() == 1) { + final int i = select.getIdxSelected()[0]; + final CtuluListSelectionInterface selection = select.getSelection(i); + final int nbSelected = selection.getNbSelectedIndex(); + // deux sommets s\xE9lectionn\xE9s: on choisit la ligne en les 2 sommets + if (nbSelected == 2) { + return createLineFromSelection(i, selection, nbSelected); + + } else if (nbSelected >= 2) { + final int nbPointForLigne = modele_.getNbPointForGeometry(i); + final int[] res = CtuluListSelection.isSelectionContiguous(select.getSelection(i), nbPointForLigne); + if (res == null) { + return null; + } + // selection normale + if (res[0] < res[1]) { + return createLineFromSelection(i, selection, nbSelected); + } + } + } else if (select.getNbListSelected() == 2) { + final int[] idx = select.getIdxSelected(); + final CtuluListSelectionInterface selection1 = select.getSelection(idx[0]); + final CtuluListSelectionInterface selection2 = select.getSelection(idx[1]); + if (selection1.getNbSelectedIndex() == 1 && selection2.getNbSelectedIndex() == 1) { + final Coordinate[] cs = new Coordinate[2]; + cs[0] = ((Geometry)modele_.getGeomData().getGeometry(idx[0])).getCoordinates()[selection1.getMaxIndex()]; + cs[1] = ((Geometry)modele_.getGeomData().getGeometry(idx[1])).getCoordinates()[selection2.getMaxIndex()]; + return GISGeometryFactory.INSTANCE.createLineString(cs); + } + } + return null; + } + +} Property changes on: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueGeometry.java ___________________________________________________________________ Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-08-12 10:45:21
|
Revision: 3776 http://fudaa.svn.sourceforge.net/fudaa/?rev=3776&view=rev Author: bmarchan Date: 2008-08-12 10:45:27 +0000 (Tue, 12 Aug 2008) Log Message: ----------- ZModeleLigneBrisee et ZModeleMultiPoint heritent de ZModeleGeometry Modified Paths: -------------- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleLigneBrisee.java branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleMultiPoint.java branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueLigneBriseeEditable.java branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileLayerModelForCourbe.java branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/FSigLineSingleModel.java Added Paths: ----------- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.java Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java 2008-08-12 10:15:52 UTC (rev 3775) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZCalqueLigneBrisee.java 2008-08-12 10:45:27 UTC (rev 3776) @@ -149,7 +149,7 @@ } protected void initTrace(final TraceLigneModel _ligne, final int _idxPoly) { - final int idx = modele_.isLigneFermee(_idxPoly) ? 0 : 1; + final int idx = modele_.isGeometryFermee(_idxPoly) ? 0 : 1; _ligne.updateData(getLineModel(idx)); if (isAttenue()) { _ligne.setCouleur(EbliLib.getAlphaColor(attenueCouleur(_ligne.getCouleur()), alpha_)); @@ -160,7 +160,7 @@ } protected void initTrace(final TraceIconModel _icon, final int _idxPoly) { - final int idx = modele_.isLigneFermee(_idxPoly) ? 0 : 1; + final int idx = modele_.isGeometryFermee(_idxPoly) ? 0 : 1; _icon.updateData(getIconModel(idx)); if (isAttenue()) { _icon.setCouleur(EbliLib.getAlphaColor(attenueCouleur(_icon.getCouleur()), alpha_)); @@ -360,7 +360,7 @@ } } - nb += modele_.getNbPointForLigne(i); + nb += modele_.getNbPointForGeometry(i); } return list.toNativeArray(); @@ -434,10 +434,10 @@ CtuluListSelection s = selectionMulti_.get(i); if (s == null) { s = new CtuluListSelection(); - s.setSelectionInterval(0, modele_.getNbPointForLigne(i) - 1); + s.setSelectionInterval(0, modele_.getNbPointForGeometry(i) - 1); selectionMulti_.set(i, s); } else { - s.inverse(modele_.getNbPointForLigne(i)); + s.inverse(modele_.getNbPointForGeometry(i)); } } fireSelectionEvent(); @@ -454,7 +454,7 @@ for (int i = modele_.getNbLigneBrisee() - 1; i >= 0; i--) { final CtuluListSelection s = selectionMulti_.get(i); if (s != null) { - s.inverse(modele_.getNbPointForLigne(i)); + s.inverse(modele_.getNbPointForGeometry(i)); } } fireSelectionEvent(); @@ -530,16 +530,16 @@ // on part de la fin : comme ca la premiere ligne apparait au-dessus for (int i = nombre - 1; i >= 0; i--) { // il n'y a pas de points pour cette ligne - if (modele_.getNbPointForLigne(i) <= 0) { + if (modele_.getNbPointForGeometry(i) <= 0) { continue; } - modele_.getDomaineForLigne(i, bPoly); + modele_.getDomaineForGeometry(i, bPoly); // Si la boite du polygone n'est pas dans la boite d'affichage on passe if (bPoly.intersectionXY(clip) == null) { continue; } - final int nbPoints = modele_.getNbPointForLigne(i); + final int nbPoints = modele_.getNbPointForGeometry(i); if (nbPoints <= 0) { continue; } @@ -557,7 +557,7 @@ tl.dessineTrait(_g, ptOri.x_, ptOri.y_, ptDest.x_, ptDest.y_); ptOri.initialiseAvec(ptDest); } - if (modele_.isLigneFermee(i)) { + if (modele_.isGeometryFermee(i)) { modele_.point(ptOri, i, nbPoints - 1); ptOri.autoApplique(versEcran); tl.dessineTrait(_g, ptOri.x_, ptOri.y_, ptDest.x_, ptDest.y_); @@ -570,15 +570,15 @@ if (icone != null && !isRapide()) { for (int i = nombre - 1; i >= 0; i--) { // il n'y a pas de points pour cette ligne - if (modele_.getNbPointForLigne(i) <= 0) { + if (modele_.getNbPointForGeometry(i) <= 0) { continue; } - modele_.getDomaineForLigne(i, bPoly); + modele_.getDomaineForGeometry(i, bPoly); // Si la boite du polygone n'est pas dans la boite d'affichage on passe if (bPoly.intersectionXY(clip) == null) { continue; } - final int nbPoints = modele_.getNbPointForLigne(i); + final int nbPoints = modele_.getNbPointForGeometry(i); if (nbPoints <= 0) { continue; } @@ -634,12 +634,12 @@ if (!_containers.isSelected(i)) { continue; } - modele_.getDomaineForLigne(i, bPoly); + modele_.getDomaineForGeometry(i, bPoly); // Si la boite du polygone n'est pas dans la boite d'affichage on passe if (bPoly.intersectionXY(clip) == null) { continue; } - final int nbPoints = modele_.getNbPointForLigne(i); + final int nbPoints = modele_.getNbPointForGeometry(i); final GrPoint ptOri = new GrPoint(); modele_.point(ptOri, i, nbPoints - 1); ptOri.autoApplique(versEcran); @@ -653,7 +653,7 @@ tlSelection.dessineTrait((Graphics2D) _g, ptOri.x_, ptOri.y_, ptDest.x_, ptDest.y_); ptOri.initialiseAvec(ptDest); } - if (modele_.isLigneFermee(i)) { + if (modele_.isGeometryFermee(i)) { modele_.point(ptOri, i, nbPoints - 1); ptOri.autoApplique(versEcran); tlSelection.dessineTrait((Graphics2D) _g, ptOri.x_, ptOri.y_, ptDest.x_, ptDest.y_); @@ -675,10 +675,10 @@ for (int i = modele_.getNbLigneBrisee() - 1; i >= 0; i--) { CtuluListSelection s = selectionMulti_.get(i); if (s == null) { - s = new CtuluListSelection(modele_.getNbPointForLigne(i)); + s = new CtuluListSelection(modele_.getNbPointForGeometry(i)); selectionMulti_.set(i, s); } - s.setSelectionInterval(0, modele_.getNbPointForLigne(i) - 1); + s.setSelectionInterval(0, modele_.getNbPointForGeometry(i) - 1); } fireSelectionEvent(); } @@ -700,9 +700,9 @@ final GrSegment poly = new GrSegment(new GrPoint(), new GrPoint()); final GrBoite bPoly = new GrBoite(new GrPoint(), new GrPoint()); for (int i = modele_.getNbLigneBrisee() - 1; i >= 0; i--) { - modele_.getDomaineForLigne(i, bPoly); + modele_.getDomaineForGeometry(i, bPoly); if (bPoly.contientXY(_pt)||bPoly.distanceXY(_pt)<distanceReel) { - for (int j=modele_.getNbPointForLigne(i)-1; j>0; j--) { + for (int j=modele_.getNbPointForGeometry(i)-1; j>0; j--) { modele_.point(poly.e_, i, j); modele_.point(poly.o_, i, j-1); if (poly.distanceXY(_pt)<distanceReel) { @@ -711,9 +711,9 @@ return r; } } - if (modele_.isLigneFermee(i)) { + if (modele_.isGeometryFermee(i)) { modele_.point(poly.e_, i, 0); - modele_.point(poly.o_, i, modele_.getNbPointForLigne(i)-1); + modele_.point(poly.o_, i, modele_.getNbPointForGeometry(i)-1); if (poly.distanceXY(_pt)<distanceReel) { final CtuluListSelection r=new CtuluListSelection(1); r.setSelectionInterval(i, i); @@ -745,13 +745,13 @@ final GrPoint p = new GrPoint(); final GrBoite bPoly = new GrBoite(new GrPoint(), new GrPoint()); for (int i = getModele().getNombre() - 1; i >= 0; i--) { - modele_.getDomaineForLigne(i, bPoly); + modele_.getDomaineForGeometry(i, bPoly); // si le poly est dans dans le poly de selection boolean selected = false; if (_mode == EbliSelectionMode.MODE_ALL) { if (polyEnv.contains(bPoly.e_.x_, bPoly.e_.y_) && polyEnv.contains(bPoly.o_.x_, bPoly.o_.y_)) { selected = true; - for (int j = modele_.getNbPointForLigne(i) - 1; (j >= 0) && selected; j--) { + for (int j = modele_.getNbPointForGeometry(i) - 1; (j >= 0) && selected; j--) { modele_.point(p, i, j); c.x = p.x_; c.y = p.y_; @@ -762,7 +762,7 @@ } } else if (_mode == EbliSelectionMode.MODE_ONE) { if (polyEnv.intersects(bPoly.getEnv())) { - for (int j = modele_.getNbPointForLigne(i) - 1; (j >= 0) && !selected; j--) { + for (int j = modele_.getNbPointForGeometry(i) - 1; (j >= 0) && !selected; j--) { modele_.point(p, i, j); c.x = p.x_; c.y = p.y_; @@ -808,9 +808,9 @@ final GrPoint p = new GrPoint(); final GrBoite btLigne = new GrBoite(); for (int i = modele_.getNbLigneBrisee() - 1; i >= 0; i--) { - modele_.getDomaineForLigne(i, btLigne); + modele_.getDomaineForGeometry(i, btLigne); if (btLigne.contientXY(_pt) || btLigne.distanceXY(_pt) < distanceReel) { - for (int j = modele_.getNbPointForLigne(i) - 1; j >= 0; j--) { + for (int j = modele_.getNbPointForGeometry(i) - 1; j >= 0; j--) { modele_.point(p, i, j); if (bClip.contientXY(p) && (p.distanceXY(_pt) < distanceReel)) { final EbliListeSelectionMulti r = new EbliListeSelectionMulti(1); @@ -842,7 +842,7 @@ final Coordinate c = new Coordinate(); for (int i = modele_.getNbLigneBrisee() - 1; i >= 0; i--) { CtuluListSelection l = null; - final int nbPt = modele_.getNbPointForLigne(i); + final int nbPt = modele_.getNbPointForGeometry(i); for (int j = nbPt - 1; j >= 0; j--) { modele_.point(p, i, j); c.x = p.x_; @@ -940,7 +940,7 @@ return createLineFromSelection(i, selection, nbSelected); } else if (nbSelected >= 2) { - final int nbPointForLigne = getModele().getNbPointForLigne(i); + final int nbPointForLigne = getModele().getNbPointForGeometry(i); final int[] res = CtuluListSelection.isSelectionContiguous(select.getSelection(i), nbPointForLigne); if (res == null) { return null; @@ -948,7 +948,7 @@ // selection normale if (res[0] < res[1]) { return createLineFromSelection(i, selection, nbSelected); - } else if (getModele().isLigneFermee(i)) { + } else if (getModele().isGeometryFermee(i)) { final Coordinate[] cs = new Coordinate[nbSelected]; int csi = 0; final LineString string = (LineString) getModele().getGeomData().getGeometry(i); Added: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.java (rev 0) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.java 2008-08-12 10:45:27 UTC (rev 3776) @@ -0,0 +1,62 @@ +/* + * @creation 31 mars 2005 + * @modification $Date: 2008-03-26 16:46:43 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ebli.calque; + +import org.fudaa.ebli.geometrie.GrBoite; +import org.fudaa.ebli.geometrie.GrPoint; + +import com.vividsolutions.jts.geom.Geometry; +import com.vividsolutions.jts.geom.LineString; + +/** + * Un mod\xE8le contenant toutes sortes de GIS g\xE9om\xE9tries (non sp\xE9cialis\xE9). + * @see org.fudaa.ebli.calque.ZCalqueGeometry + * @author Bertrand Marchand + * @version $Id: ZModeleMultiPoint.java,v 1.1.2.1 2008-03-26 16:46:43 bmarchan Exp $ + */ +public interface ZModeleGeometry extends ZModeleGeom{ + + /** + * Retourne le nombre de points de la g\xE9om\xE9trie d'indice donn\xE9. + * @param _idxGeom l'indice de la g\xE9om\xE9trie + * @return le nombre de point pour cette frontiere + */ + int getNbPointForGeometry(int _idxGeom); + + /** + * Modifie la boite englobante _target pour correspondre \xE0 la boite englobante de la g\xE9om\xE9trie. + * @param _idxGeom l'indice de la g\xE9om\xE9trie + * @param _target la boite a modifier + */ + void getDomaineForGeometry(int _idxGeom, GrBoite _target); + + /** + * Modifie les coordonn\xE9es du sommet _pt pour correspondre au point d'indice _pointIdx de la + * g\xE9om\xE9trie. + * + * @param _pt le point a modifier + * @param _idxGeom l'indice de la g\xE9om\xE9trie + * @param _pointIdx l'indice du point dans la g\xE9om\xE9trie + * @return true si indices valides + */ + boolean point(GrPoint _pt, int _idxGeom, int _pointIdx); + + /** + * La g\xE9ometrie est-elle reli\xE9e. + * @param _idxGeom L'indice de la g\xE9om\xE9trie dans le mod\xE8le. + * @return True : Si la g\xE9om\xE9trie est reli\xE9e. + */ + public boolean isGeometryReliee(int _idxGeom); + + /** + * La g\xE9ometrie est-elle ferm\xE9e. + * @param _idxGeom L'indice de la g\xE9om\xE9trie dans le mod\xE8le. + * @return True : Si la g\xE9om\xE9trie est ferm\xE9e. + */ + public boolean isGeometryFermee(int _idxGeom); +} Property changes on: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleGeometry.java ___________________________________________________________________ Added: svn:eol-style + native Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleLigneBrisee.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleLigneBrisee.java 2008-08-12 10:15:52 UTC (rev 3775) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleLigneBrisee.java 2008-08-12 10:45:27 UTC (rev 3776) @@ -1,72 +1,40 @@ -/* - * @creation 31 mars 2005 - * @modification $Date: 2008-03-26 16:46:43 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.ebli.calque; - -import org.fudaa.ebli.geometrie.GrBoite; -import org.fudaa.ebli.geometrie.GrPoint; - - -/** - * Une interface mod\xE8le manipul\xE9e par un calque ZCalqueLigneBrisee. - * @see org.fudaa.ebli.calque.ZCalqueLigneBrisee - * @author Fred Deniger - * @version $Id: ZModeleLigneBrisee.java,v 1.7.8.3 2008-03-26 16:46:43 bmarchan Exp $ - */ -public interface ZModeleLigneBrisee extends ZModeleGeom{ - - /** - * Retourne le nombre de lignes brisees contenues dans le mod\xE8le. - * @return Le nombre de lignes bris\xE9es. - */ - int getNbLigneBrisee(); - - - /** - * Le mod\xE8le contient-il des polygones (ligne bris\xE9e ferm\xE9e) ? - * @return <code>true</code> s'il existe au moins 1 polygone dans le mod\xE8le. - */ - boolean containsPolygone(); - - /** - * Retourne le nombre de polygones (ligne bris\xE9e ferm\xE9e) contenus dans le mod\xE8le. - * @return le nombre de polygone - */ - int getNbPolygone(); - - /** - * Retourne le nombre de points de la polyligne d'indice donn\xE9. - * @param _idxLigne l'indice de la ligne brise - * @return le nombre de point pour cette frontiere - */ - int getNbPointForLigne(int _idxLigne); - - /** - * Modifie la boite englobante _target pour correspondre \xE0 la boite englobante de la polyligne. - * @param _idxLigne l'indice de la ligne brisee - * @param _target la boite a modifier - */ - void getDomaineForLigne(int _idxLigne,GrBoite _target); - - /** - * Modifie les coordonn\xE9es du point _pt pour correspondre au point d'indice _pointIdx de la - * ligne bris\xE9e. - * - * @param _pt le point a modifier - * @param _ligneIdx la ligne brisee - * @param _pointIdx l'indice du point dans la ligne brisee - * @return true si indices valides - */ - boolean point(GrPoint _pt, int _ligneIdx, int _pointIdx); - - /** - * La ligne d'indice _idxLigne est elle ferm\xE9e (polygone) ? - * @param _idxLigne l'indice de la ligne brisee. - * @return true si ligne fermee (polygone) - */ - boolean isLigneFermee(int _idxLigne); -} +/* + * @creation 31 mars 2005 + * @modification $Date: 2008-03-26 16:46:43 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ebli.calque; + +import org.fudaa.ebli.geometrie.GrBoite; +import org.fudaa.ebli.geometrie.GrPoint; + + +/** + * Une interface mod\xE8le manipul\xE9e par un calque ZCalqueLigneBrisee. + * @see org.fudaa.ebli.calque.ZCalqueLigneBrisee + * @author Fred Deniger + * @version $Id: ZModeleLigneBrisee.java,v 1.7.8.3 2008-03-26 16:46:43 bmarchan Exp $ + */ +public interface ZModeleLigneBrisee extends ZModeleGeometry { + + /** + * Retourne le nombre de lignes brisees contenues dans le mod\xE8le. + * @return Le nombre de lignes bris\xE9es. + */ + int getNbLigneBrisee(); + + + /** + * Le mod\xE8le contient-il des polygones (ligne bris\xE9e ferm\xE9e) ? + * @return <code>true</code> s'il existe au moins 1 polygone dans le mod\xE8le. + */ + boolean containsPolygone(); + + /** + * Retourne le nombre de polygones (ligne bris\xE9e ferm\xE9e) contenus dans le mod\xE8le. + * @return le nombre de polygone + */ + int getNbPolygone(); +} Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleMultiPoint.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleMultiPoint.java 2008-08-12 10:15:52 UTC (rev 3775) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/ZModeleMultiPoint.java 2008-08-12 10:45:27 UTC (rev 3776) @@ -17,30 +17,5 @@ * @author Bertrand Marchand * @version $Id: ZModeleMultiPoint.java,v 1.1.2.1 2008-03-26 16:46:43 bmarchan Exp $ */ -public interface ZModeleMultiPoint extends ZModeleGeom{ - - /** - * Retourne le nombre de points de la polyligne d'indice donn\xE9. - * @param _idxLigne l'indice de la ligne brise - * @return le nombre de point pour cette frontiere - */ - int getNbPointForGeometry(int _idxLigne); - - /** - * Modifie la boite englobante _target pour correspondre \xE0 la boite englobante de la polyligne. - * @param _idxLigne l'indice de la ligne brisee - * @param _target la boite a modifier - */ - void getDomaineForGeometry(int _idxLigne,GrBoite _target); - - /** - * Modifie les coordonn\xE9es du point _pt pour correspondre au point d'indice _pointIdx de la - * ligne bris\xE9e. - * - * @param _pt le point a modifier - * @param _ligneIdx la ligne brisee - * @param _pointIdx l'indice du point dans la ligne brisee - * @return true si indices valides - */ - boolean point(GrPoint _pt, int _ligneIdx, int _pointIdx); +public interface ZModeleMultiPoint extends ZModeleGeometry { } Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueLigneBriseeEditable.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueLigneBriseeEditable.java 2008-08-12 10:15:52 UTC (rev 3775) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZCalqueLigneBriseeEditable.java 2008-08-12 10:45:27 UTC (rev 3776) @@ -130,8 +130,8 @@ _trace.paintIconCentre(this, _g, xPivot, yPivot); // trace de la ligne j-1 ->j int j0 = j - 1; - if (j0 < 0 && modele_.isLigneFermee(idxPoly)) { - j0 = modele_.getNbPointForLigne(idxPoly) - 1; + if (j0 < 0 && modele_.isGeometryFermee(idxPoly)) { + j0 = modele_.getNbPointForGeometry(idxPoly) - 1; } if (j0 >= 0) { modele_.point(p, idxPoly, j0); @@ -143,10 +143,10 @@ tl.dessineTrait(_g, xPivot, yPivot, p.x_, p.y_); } j0 = j + 1; - if (j0 == modele_.getNbPointForLigne(idxPoly) && modele_.isLigneFermee(idxPoly)) { + if (j0 == modele_.getNbPointForGeometry(idxPoly) && modele_.isGeometryFermee(idxPoly)) { j0 = 0; } - if (j0 < modele_.getNbPointForLigne(idxPoly)) { + if (j0 < modele_.getNbPointForGeometry(idxPoly)) { modele_.point(p, idxPoly, j0); p.autoApplique(versEcran); if (s.isSelected(j0)) { @@ -184,9 +184,9 @@ int i=selection_.getMinIndex(); // for (int i = modele_.getNbLigneBrisee() - 1; i >= 0; i--) { - modele_.getDomaineForLigne(i, bPoly); + modele_.getDomaineForGeometry(i, bPoly); if (bPoly.contientXY(ptToTest) || bPoly.distanceXY(ptToTest) < distanceReel) { - for (int j = modele_.getNbPointForLigne(i) - 1; j > 0; j--) { + for (int j = modele_.getNbPointForGeometry(i) - 1; j > 0; j--) { modele_.point(seg.e_, i, j); modele_.point(seg.o_, i, j - 1); if (seg.distanceXY(ptToTest) < distanceReel) { @@ -194,11 +194,11 @@ return true; } } - if (modele_.isLigneFermee(i)) { + if (modele_.isGeometryFermee(i)) { modele_.point(seg.e_, i, 0); - modele_.point(seg.o_, i, modele_.getNbPointForLigne(i) - 1); + modele_.point(seg.o_, i, modele_.getNbPointForGeometry(i) - 1); if (seg.distanceXY(ptToTest) < distanceReel) { - addPoint(i, modele_.getNbPointForLigne(i) - 1, ptToTest.x_, ptToTest.y_, _cmd); + addPoint(i, modele_.getNbPointForGeometry(i) - 1, ptToTest.x_, ptToTest.y_, _cmd); return true; } } @@ -321,12 +321,12 @@ if (!selection_.isSelected(i)) { continue; } - modele_.getDomaineForLigne(i, bPoly); + modele_.getDomaineForGeometry(i, bPoly); // Si la boite du polygone n'est pas dans la boite d'affichage on passe if (bPoly.intersectionXY(clip) == null) { continue; } - final int nbPoints = modele_.getNbPointForLigne(i); + final int nbPoints = modele_.getNbPointForGeometry(i); final GrPoint ptOri = new GrPoint(); modele_.point(ptOri, i, nbPoints - 1); ptOri.autoApplique(versEcran); @@ -340,7 +340,7 @@ tlSelection.dessineTrait(_g2d, ptOri.x_ + _dx, ptOri.y_ + _dy, ptDest.x_ + _dx, ptDest.y_ + _dy); ptOri.initialiseAvec(ptDest); } - if (modele_.isLigneFermee(i)) { + if (modele_.isGeometryFermee(i)) { modele_.point(ptOri, i, nbPoints - 1); ptOri.autoApplique(versEcran); tlSelection.dessineTrait(_g2d, ptOri.x_ + _dx, ptOri.y_ + _dy, ptDest.x_ + _dx, ptDest.y_ + _dy); Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2008-08-12 10:15:52 UTC (rev 3775) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeDefault.java 2008-08-12 10:45:27 UTC (rev 3776) @@ -309,7 +309,7 @@ if (nb == 1) { final int idxPoly = layer.getLayerSelection().getMaxIndex(); _d.setTitle(EbliLib.getS("Ligne bris\xE9e {0}", CtuluLibString.getString(idxPoly + 1))); - _d.put(CtuluLib.getS("Ferm\xE9"), isLigneFermee(idxPoly) ? CtuluLib.getS("vrai") : CtuluLib.getS("faux")); + _d.put(CtuluLib.getS("Ferm\xE9"), isGeometryFermee(idxPoly) ? CtuluLib.getS("vrai") : CtuluLib.getS("faux")); _d.put(CtuluLib.getS("Valid"), getGeomData().getGeometry(idxPoly).isValid() ? CtuluLib.getS("vrai") : CtuluLib .getS("faux")); fillWithInfo(idxPoly, _d); @@ -352,7 +352,7 @@ return new GrBoite(new GrPoint(e.getMinX(), e.getMinY(), 0), new GrPoint(e.getMaxX(), e.getMaxY(), 0)); } - public final void getDomaineForLigne(final int _idxLigne, final GrBoite _target) { + public final void getDomaineForGeometry(final int _idxLigne, final GrBoite _target) { if (geometries_ == null || geometries_.getNumGeometries() == 0) { return; } @@ -380,7 +380,7 @@ return getNombre(); } - public final int getNbPointForLigne(final int _idxLigne) { + public final int getNbPointForGeometry(final int _idxLigne) { if (geometries_ == null) { return 0; } @@ -415,10 +415,14 @@ return false; } - public final boolean isLigneFermee(final int _idxLigne) { + public final boolean isGeometryFermee(final int _idxLigne) { return geometries_ == null ? false : ((LineString) geometries_.getGeometry(_idxLigne)).isClosed(); } + public final boolean isGeometryReliee(final int _idxLigne) { + return true; + } + public boolean isValuesTableAvailable() { return true; } Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-08-12 10:15:52 UTC (rev 3775) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2008-08-12 10:45:27 UTC (rev 3776) @@ -510,7 +510,7 @@ FuLog.warning("EBL:Pb l'attribut pour Z n'est pas dans la liste des attributs du calque!"); } - if (isLigneFermee(i)) { + if (isGeometryFermee(i)) { final GISPolygone poly = (GISPolygone) GISGeometryFactory.INSTANCE.createLinearRing(newSeq); geometries_.setValue(i, poly, cmp); } @@ -572,7 +572,7 @@ final double newY = newSeq.getY(j) + _dy; newSeq.setOrdinate(j, 0, newX); newSeq.setOrdinate(j, 1, newY); - if (j == 0 && isLigneFermee(idx)) { + if (j == 0 && isGeometryFermee(idx)) { newSeq.setOrdinate(newSeq.size() - 1, 0, newX); newSeq.setOrdinate(newSeq.size() - 1, 1, newY); } @@ -582,7 +582,7 @@ } } - if (isLigneFermee(idx)) { + if (isGeometryFermee(idx)) { final GISPolygone poly = (GISPolygone) GISGeometryFactory.INSTANCE.createLinearRing(newSeq); if (!poly.isValid()) { if (_ui != null) { @@ -643,7 +643,7 @@ newSeq.setOrdinate(j, 0, dxnew+_xreel0); newSeq.setOrdinate(j, 1, dynew+_yreel0); } - if (isLigneFermee(i)) { + if (isGeometryFermee(i)) { final GISPolygone poly = (GISPolygone) GISGeometryFactory.INSTANCE.createLinearRing(newSeq); geometries_.setValue(i, poly, cmp); } @@ -696,13 +696,13 @@ newSeq.setOrdinate(j, 0, dxnew+_xreel0); newSeq.setOrdinate(j, 1, dynew+_yreel0); - if (j == 0 && isLigneFermee(idx)) { + if (j == 0 && isGeometryFermee(idx)) { newSeq.setOrdinate(newSeq.size() - 1, 0, dxnew+_xreel0); newSeq.setOrdinate(newSeq.size() - 1, 1, dynew+_yreel0); } } } - if (isLigneFermee(idx)) { + if (isGeometryFermee(idx)) { final GISPolygone poly = (GISPolygone) GISGeometryFactory.INSTANCE.createLinearRing(newSeq); if (!poly.isValid()) { if (_ui != null) { Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java 2008-08-12 10:15:52 UTC (rev 3775) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java 2008-08-12 10:45:27 UTC (rev 3776) @@ -834,4 +834,12 @@ if (_cmd!=null) _cmd.addCmd(cmp.getSimplify()); return true; } + + public boolean isGeometryFermee(int _idxGeom) { + return false; + } + + public boolean isGeometryReliee(int _idxGeom) { + return false; + } } Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileLayerModelForCourbe.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileLayerModelForCourbe.java 2008-08-12 10:15:52 UTC (rev 3775) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/meshviewer/profile/MvProfileLayerModelForCourbe.java 2008-08-12 10:45:27 UTC (rev 3776) @@ -38,7 +38,7 @@ return false; } - public void getDomaineForLigne(int _idxLigne, GrBoite _target) { + public void getDomaineForGeometry(int _idxLigne, GrBoite _target) { _target.ajuste(domaine_); } @@ -46,7 +46,7 @@ return res_ == null ? 0 : 1; } - public int getNbPointForLigne(int _idxLigne) { + public int getNbPointForGeometry(int _idxLigne) { return res_ == null ? 0 : res_.getNbIntersect(); } @@ -54,10 +54,14 @@ return 0; } - public boolean isLigneFermee(int _idxLigne) { + public boolean isGeometryFermee(int _idxLigne) { return false; } + public boolean isGeometryReliee(int _idxGeom) { + return true; + } + public boolean point(GrPoint _pt, int _ligneIdx, int _pointIdx) { if (res_ == null) return false; _pt.x_ = res_.getIntersect(_pointIdx).getX(); Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/FSigLineSingleModel.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/FSigLineSingleModel.java 2008-08-12 10:15:52 UTC (rev 3775) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/fudaa/src/org/fudaa/fudaa/sig/FSigLineSingleModel.java 2008-08-12 10:45:27 UTC (rev 3776) @@ -73,7 +73,7 @@ return false; } - public void getDomaineForLigne(final int _idxLigne, final GrBoite _target) { + public void getDomaineForGeometry(final int _idxLigne, final GrBoite _target) { if (_target.o_ == null) { _target.o_ = new GrPoint(); } @@ -90,7 +90,7 @@ return isClosed_ ? 0 : 1; } - public int getNbPointForLigne(final int _idxLigne) { + public int getNbPointForGeometry(final int _idxLigne) { return r_.getNumPoints(); } @@ -98,7 +98,7 @@ return isClosed_ ? 1 : 0; } - public boolean isLigneFermee(final int _idxLigne) { + public boolean isGeometryFermee(final int _idxLigne) { return isClosed_; } @@ -123,4 +123,8 @@ } public void fillWithInfo(final InfoData _d, final ZCalqueAffichageDonneesInterface _layer) {} + + public boolean isGeometryReliee(int geom) { + return true; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-08-12 10:15:45
|
Revision: 3775 http://fudaa.svn.sourceforge.net/fudaa/?rev=3775&view=rev Author: bmarchan Date: 2008-08-12 10:15:52 +0000 (Tue, 12 Aug 2008) Log Message: ----------- Une collection contenant tous types de geometrie. Modified Paths: -------------- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISGeometryFactory.java Added Paths: ----------- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISGeometryFactory.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISGeometryFactory.java 2008-08-12 10:10:08 UTC (rev 3774) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISGeometryFactory.java 2008-08-12 10:15:52 UTC (rev 3775) @@ -192,4 +192,36 @@ public Geometry createGeometry(final Geometry _g){ return super.createGeometry(_g); } + /** + * Cr\xE9e une g\xE9om\xE9trie de classe donn\xE9e. + * @param _init La classe a cr\xE9er. + * @param _seq La sequance de coordonn\xE9es. + * @return La g\xE9om\xE9trie. + */ + public Geometry createGeometry(final Class _clazz, final Coordinate[] _coordinates){ + return createGeometry(_clazz,getCoordinateSequenceFactory().create(_coordinates)); + } + + /** + * Cr\xE9e une g\xE9om\xE9trie de classe donn\xE9e. + * @param _init La classe a cr\xE9er. + * @param _seq La sequance de coordonn\xE9es. + * @return La g\xE9om\xE9trie. + */ + public Geometry createGeometry(final Class _clazz, final CoordinateSequence _seq){ + if (_clazz==GISPolygoneNiveau.class) + return createLinearRingNiveau(_seq); + else if (_clazz==GISPolygone.class) + return createLinearRing(_seq); + else if (_clazz==GISPolyligneNiveau.class) + return createLineStringNiveau(_seq); + else if (_clazz==GISPolyligne.class) + return createLineString(_seq); + else if (_clazz==GISMultiPoint.class) + return createMultiPoint(_seq); + else if (_clazz==GISPoint.class) + return createPoint(_seq); + else + return null; + } } \ No newline at end of file Added: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java (rev 0) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java 2008-08-12 10:15:52 UTC (rev 3775) @@ -0,0 +1,336 @@ +/* + * @creation 21 mars 2005 + * @modification $Date: 2008-04-01 07:22:48 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ctulu.gis; + +import gnu.trove.TIntArrayList; + +import java.util.Arrays; + +import com.vividsolutions.jts.geom.Coordinate; +import com.vividsolutions.jts.geom.CoordinateSequence; +import com.vividsolutions.jts.geom.Geometry; + +import com.memoire.fu.FuLog; + +import org.fudaa.ctulu.CtuluCommandComposite; +import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.CtuluLibArray; +import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.CtuluListSelectionInterface; +import org.fudaa.ctulu.CtuluUI; +import org.fudaa.ctulu.collection.CtuluCollectionDouble; + +/** + * Une collection pour les g\xE9om\xE9tries quelconques. + * + * @author Bertrand Marchand + * @version $Id: GISZoneCollectionMultiPoint.java,v 1.1.2.2 2008-04-01 07:22:48 bmarchan Exp $ + */ +public class GISZoneCollectionGeometry extends GISZoneCollection { + + public GISZoneCollectionGeometry() { + this(null); + } + + /** + * @param _listener le listener + */ + public GISZoneCollectionGeometry(final GISZoneListener _listener) { + this(10, _listener); + } + + /** + * @param _listener le listener + */ + public GISZoneCollectionGeometry(final GISZoneListener _listener, final GISZoneCollectionGeometry _col) { + this(10, _listener); + if (_col != null) { + for (int i = 0; i < _col.getNumGeometries(); i++) { + super.geometry_.add(_col.getGeometry(i), null, null); + } + } + } + + public GISZoneCollectionGeometry(final int _nbObject, final GISZoneListener _listener) { + super(_nbObject); + listener_ = _listener; + } + + /** + * Cr\xE9e un tableau de valeurs d'attributs.<p> + * + * Les valeurs peuvent \xEAtre globales ou atomiques. + * + * @param _init Les valeurs d'initialisation, dans l'ordre et au nombre des mod\xE8les d'attributs. + * Si null, les valeurs par d\xE9faut sont affect\xE9es (voir {@link GISAttributeInterface#getDefaultValue()}) + * @param _dest La g\xE9ometrie. + * @param _isClosed Param\xE8tre inutilis\xE9. + * @return + */ + protected Object[] createAttributeList(final Object[] _init, final Geometry _dest, final boolean _isClosed) { + final Object[] rf = new Object[getNbAttributes()]; + if (_init != null && _init.length != getNbAttributes()) { + throw new IllegalArgumentException("bad size"); + } + for (int i = getNbAttributes() - 1; i >= 0; i--) { + rf[i]=createOrAssignAttribut(i,_init==null?null:_init[i],_dest); + } + return rf; + } + + /** + * Ne peut \xEAtre utilis\xE9 que si la liste contient des objets GIS homogenes. + */ + public void addCoordinateSequence(final CoordinateSequence _seq, final Object[] _data, + final CtuluCommandContainer _cmd) { + throw new IllegalAccessError("Can't call this method"); + } + + public void addGeometry(final Geometry _geom, final Object[] _data, final CtuluCommandContainer _cmd) { + if (!(_geom instanceof GISCoordinateSequenceContainerInterface)) + throw new IllegalArgumentException("Bad type geometry"); + + if (isGeomModifiable_) { + geometry_.add(_geom, Arrays.asList(createAttributeList(_data, _geom, true)), _cmd); + } + } + + public boolean accept(final GISVisitor _v) { + final int nb = getNumGeometries(); + for (int i = 0; i < nb; i++) { + if (!((GISCoordinateSequenceContainerInterface)getGeometry(i)).accept(_v)) { + return false; + } + } + return true; + } + /** + * @todo Les poly de niveau sont mal trait\xE9es + */ + public void addAtomic(final int _ligneIdx, final int _idxBefore, final double _x, final double _y, + final CtuluCommandContainer _cmd) { + if (!isGeomModifiable_) { + return; + } + Geometry geom = (Geometry)super.geometry_.getValueAt(_ligneIdx); + final Coordinate[] oldcs = geom.getCoordinates(); + final int initSize = oldcs.length; + final Coordinate[] cs = new Coordinate[initSize + 1]; + int idx = 0; + for (int i = 0; i < initSize; i++) { + cs[idx++] = (Coordinate)oldcs[i].clone(); + if (i == _idxBefore) { + cs[idx++] = new Coordinate(_x, _y, oldcs[i].z); + } + } + + geom = GISGeometryFactory.INSTANCE.createGeometry(geom.getClass(),cs); + setValue(_ligneIdx,geom, _cmd); + } + + /** + * @param _idx l'indice de la ligne a changer + * @param _geom la nouvelle ligne + * @param _cmd le receveur de commande + */ + public void setValue(final int _idx, final Geometry _geom, final CtuluCommandContainer _cmd) { + if (!isGeomModifiable_) { + return; + } + final Geometry old = (Geometry) super.geometry_.getValueAt(_idx); + if (old.getNumPoints() == _geom.getNumPoints() || !containsAtomicAttribute()) { + super.geometry_.setObject(_idx, _geom, _cmd); + } else { + final CtuluCommandComposite cmp = new CtuluCommandComposite(); + for (int i = getNbAttributes() - 1; i >= 0; i--) { + final GISAttributeInterface att = getAttribute(i); + if (att.isAtomicValue()) { + final GISAttributeModel m = (GISAttributeModel) (getModelListener(i).getObjectValueAt(_idx)); + final GISReprojectInterpolateurI interpolateur = GISZoneAttributeFactory.create1DInterpolateur(att, old, + _geom, m); + getModelListener(i).setObject(_idx, m.deriveNewModel(_geom.getNumPoints(), interpolateur), cmp); + } + } + super.geometry_.setObject(_idx, _geom, cmp); + if (_cmd != null) { + _cmd.addCmd(cmp.getSimplify()); + } + } + } + + public CoordinateSequence getCoordinateSequence(final int _i) { + if (!(getGeometry(_i) instanceof GISCoordinateSequenceContainerInterface)) return null; + return ((GISCoordinateSequenceContainerInterface) getGeometry(_i)).getCoordinateSequence(); + } + + public Class getDataStoreClass() { + return GISCoordinateSequenceContainerInterface.class; + } + + public double getDoubleValue(final int _idxAtt, final int _idxGeom) { + if (getAttribute(_idxAtt).isAtomicValue()) { + return CtuluLibArray.getMoyenne(((CtuluCollectionDouble) getModel(_idxAtt).getObjectValueAt(_idxGeom)).getValues()); + } + return ((CtuluCollectionDouble) getModel(_idxAtt)).getValue(_idxGeom); + } + + public void postImport(final int _firstIdx) { + final GISAttributeModel model = getModel(attributeIsZ_); + if (attributeIsZ_ == null || model == null) return; + + if (attributeIsZ_.isAtomicValue()) { + final int nb = getNumGeometries(); + for (int i = (_firstIdx < 0 ? 0 : _firstIdx); i < nb; i++) { + final CoordinateSequence seq = getCoordinateSequence(i); + final GISAttributeModelDoubleArray arr = (GISAttributeModelDoubleArray) model.getObjectValueAt(i); + for (int k = seq.size() - 1; k >= 0; k--) { + arr.set(k, seq.getOrdinate(k, 2)); + } + } + } + // L'attribut est global : On r\xE9cup\xE9re les coordonn\xE9es, qu'on moyenne. + else { + final int nb = getNumGeometries(); + for (int i = (_firstIdx < 0 ? 0 : _firstIdx); i < nb; i++) { + final CoordinateSequence seq = getCoordinateSequence(i); + double moy=0; + for (int k = seq.size() - 1; k >= 0; k--) { + moy+=seq.getOrdinate(k, 2); + } + model.setObject(i,new Double(moy/seq.size()),null); + } + } + } + + public void setCoordinateSequence(final int _idx, final CoordinateSequence _newSeq, final CtuluCommandContainer _cmd) { + final Geometry old = (Geometry) super.geometry_.getValueAt(_idx); + if (_newSeq != null && _newSeq.size() == old.getNumPoints()) { + final CoordinateSequence seq = GISGeometryFactory.INSTANCE.getCoordinateSequenceFactory().create(_newSeq); + geometry_.setObject(_idx, GISGeometryFactory.INSTANCE.createGeometry(old.getClass(), seq), _cmd); + } + } + + public void updateListeners() { + for (int i = getNbAttributes() - 1; i >= 0; i--) { + final GISAttributeModelListener m = getModelListener(i); + if (m != null) { + if (m.getAttribute().isAtomicValue()) { + for (int j = m.getSize() - 1; j >= 0; j--) { + ((GISAttributeModelListener) m.getObjectValueAt(j)).setListener(this); + } + + } else { + m.setListener(this); + } + } + } + } + + public boolean containsAtomicAttribute() { + for (int i = getNbAttributes() - 1; i >= 0; i--) { + if (getAttribute(i).isAtomicValue()) { + return true; + } + } + return false; + } + + public boolean removeAtomics(final int _idxGeom, final CtuluListSelectionInterface _sel, final CtuluUI _ui, + final CtuluCommandContainer _cmd) { + if (_sel == null || _sel.isEmpty()) { + return false; + } + boolean r = true; + final Geometry old = (Geometry) getGeometry(_idxGeom); + int nbPt = old.getNumPoints(); + // les nouvelles coordonnees. + final Coordinate[] newCs = new Coordinate[nbPt]; + // cette liste contient les indice a enlever : creee que si necessaire + // si des attribute atomics existent + final TIntArrayList idxToRemove = containsAtomicAttribute() ? new TIntArrayList(nbPt) : null; + + // compteur tempo + int count = 0; + for (int idxPt = 0; idxPt < nbPt; idxPt++) { + if (_sel.isSelected(idxPt)) { + if (idxToRemove != null) { + idxToRemove.add(idxPt); + } + } else { + newCs[count++] = (Coordinate)old.getCoordinates()[idxPt].clone(); + } + } + Geometry newGeom = null; + + // Un polygone + if (old instanceof GISPolygone && count<3) { + r = false; + if (_ui != null) { + _ui.error(null, CtuluLib.getS("La ligne brisee doit contenir {0} points au moins", CtuluLibString.TROIS), + false); + } + } + + // Une polyligne + else if (old instanceof GISPolyligne && count<2) { + r = false; + if (_ui != null) { + _ui.error(null, CtuluLib.getS("La ligne brisee doit contenir {0} points au moins", CtuluLibString.DEUX), + false); + } + } + + // Un multipoint + else if (old instanceof GISMultiPoint&&count<1) { + r=false; + if (_ui!=null) { + _ui.error(null, CtuluLib.getS("Le multipoint doit contenir {0} points au moins", CtuluLibString.UN), false); + } + } + else { + final Coordinate[] coord=new Coordinate[count]; + System.arraycopy(newCs, 0, coord, 0, coord.length); + newGeom=GISGeometryFactory.INSTANCE.createGeometry(old.getClass(), coord); + newGeom.setUserData(old.getUserData()); + } + + if (r) { + super.geometry_.setObject(_idxGeom, newGeom, _cmd); + // si des attributs atomics sont concerne + if (idxToRemove != null && idxToRemove.size() > 0) { + final int[] idx = idxToRemove.toNativeArray(); + Arrays.sort(idx); + for (int i = getNbAttributes() - 1; i >= 0; i--) { + // attribut atomic + if (getAttribute(i).isAtomicValue()) { + // dans ce cas on recupere le model contenant cet attribut + final GISAttributeModel m = getModelListener(i); + // on recupere le sous-model concerne par la modif de geometrie + final GISAttributeModel atomicModel = (GISAttributeModel) m.getObjectValueAt(_idxGeom); + // on le change + m.setObject(_idxGeom, atomicModel.createSubModel(idx), _cmd); + } + } + } + } + return r; + } + + public boolean addAll(final GISDataModel _model, final CtuluCommandContainer _cmd, final boolean _doPostImport) { + if (!isGeomModifiable_ || _model == null) { + return false; + } + // Controle que les geometries pass\xE9e sont du bon type + for (int i=0; i<_model.getNumGeometries(); i++) { + if (!(_model.getGeometry(i) instanceof GISCoordinateSequenceContainerInterface)) + throw new IllegalArgumentException("Bad geometry"); + } + return super.addAll(_model, _cmd, _doPostImport); + } +} Property changes on: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISZoneCollectionGeometry.java ___________________________________________________________________ Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-08-12 10:10:01
|
Revision: 3774 http://fudaa.svn.sourceforge.net/fudaa/?rev=3774&view=rev Author: bmarchan Date: 2008-08-12 10:10:08 +0000 (Tue, 12 Aug 2008) Log Message: ----------- GISCoodinateSequenceContainerInterface d?\195?\169rive de GISGeometry Modified Paths: -------------- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceContainerInterface.java branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISLigneBrisee.java branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISMultiPoint.java branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISPoint.java Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceContainerInterface.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceContainerInterface.java 2008-08-12 09:58:15 UTC (rev 3773) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISCoordinateSequenceContainerInterface.java 2008-08-12 10:10:08 UTC (rev 3774) @@ -15,7 +15,7 @@ * @author Bertrand Marchand * @version $Id: GISPointContainerInterface.java,v 1.3 2006-02-09 08:59:28 deniger Exp $ */ -public interface GISCoordinateSequenceContainerInterface { +public interface GISCoordinateSequenceContainerInterface extends GISGeometry { /** * @return La sequence de coordonn\xE9es pour la g\xE9om\xE9trie. Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISLigneBrisee.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISLigneBrisee.java 2008-08-12 09:58:15 UTC (rev 3773) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISLigneBrisee.java 2008-08-12 10:10:08 UTC (rev 3774) @@ -12,7 +12,7 @@ * @author Fred Deniger * @version $Id: GISLigneBrisee.java,v 1.2 2006-02-09 08:59:28 deniger Exp $ */ -public interface GISLigneBrisee extends GISGeometry, GISCoordinateSequenceContainerInterface{ +public interface GISLigneBrisee extends GISCoordinateSequenceContainerInterface{ Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISMultiPoint.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISMultiPoint.java 2008-08-12 09:58:15 UTC (rev 3773) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISMultiPoint.java 2008-08-12 10:10:08 UTC (rev 3774) @@ -18,7 +18,7 @@ * @author Bertrand Marchand * @version $Id: GISMultiPoint.java,v 1.8.6.2 2008-04-01 17:09:56 bmarchan Exp $ */ -public class GISMultiPoint extends MultiPoint implements GISGeometry, GISCoordinateSequenceContainerInterface { +public class GISMultiPoint extends MultiPoint implements GISCoordinateSequenceContainerInterface { CoordinateSequence seq_=null; protected long id_=GISGeometryFactory.INSTANCE.getNewId(); Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISPoint.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISPoint.java 2008-08-12 09:58:15 UTC (rev 3773) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISPoint.java 2008-08-12 10:10:08 UTC (rev 3774) @@ -17,7 +17,7 @@ * @author deniger * @version $Id: GISPoint.java,v 1.5 2006-07-13 13:34:35 deniger Exp $ */ -public class GISPoint extends Point implements GISGeometry, GISCoordinateSequenceContainerInterface { +public class GISPoint extends Point implements GISCoordinateSequenceContainerInterface { protected long id_=GISGeometryFactory.INSTANCE.getNewId(); public long getId() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2008-08-12 09:58:09
|
Revision: 3773 http://fudaa.svn.sourceforge.net/fudaa/?rev=3773&view=rev Author: bmarchan Date: 2008-08-12 09:58:15 +0000 (Tue, 12 Aug 2008) Log Message: ----------- G?\195?\169n?\195?\169ralisation du visitor de calque CalqueFindPolyligneVisitor. Modified Paths: -------------- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISLib.java branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/find/CalqueFindCourbeTreeModel.java Added Paths: ----------- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/CalqueGeometryVisitor.java Removed Paths: ------------- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/find/CalqueFindPolyligneVisitor.java Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISLib.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISLib.java 2008-08-12 07:45:50 UTC (rev 3772) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ctulu/src/org/fudaa/ctulu/gis/GISLib.java 2008-08-12 09:58:15 UTC (rev 3773) @@ -33,6 +33,19 @@ */ public final class GISLib { + /** Un masque pour aucune g\xE9ometrie */ + public static final int MASK_NONE = 0; + /** Un masque pour des polygones */ + public static final int MASK_POLYGONE = 1<<0; + /** Un masque pour des polylignes */ + public static final int MASK_POLYLINE = 1<<1; + /** Un masque pour des multipoints */ + public static final int MASK_MULTIPOINT = 1<<2; + /** Un masque pour des points */ + public static final int MASK_POINT = 1<<3; + /** Un masque pour toute geometrie */ + public static final int MASK_ALL = MASK_POLYGONE|MASK_POLYLINE|MASK_MULTIPOINT|MASK_POINT; + public static double getDistance(final Envelope _e, final double _x, final double _y) { if (_e == null || _e.isNull()) { return Double.MAX_VALUE; Copied: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/CalqueGeometryVisitor.java (from rev 3739, branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/find/CalqueFindPolyligneVisitor.java) =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/CalqueGeometryVisitor.java (rev 0) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/CalqueGeometryVisitor.java 2008-08-12 09:58:15 UTC (rev 3773) @@ -0,0 +1,88 @@ +/* + * @creation 21 nov. 06 + * @modification $Date: 2006-12-05 10:14:38 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ebli.calque; + +import org.fudaa.ctulu.gis.GISLib; + +/** + * Un visiteur qui permet de determiner si un calque contient des g\xE9ometries + * d'un type donn\xE9e. + * @author Bertrand Marchand + * @version $Id: CalqueFindPolyligneVisitor.java,v 1.1 2006-12-05 10:14:38 deniger Exp $ + */ +public class CalqueGeometryVisitor implements BCalqueVisitor { + int mask_=GISLib.MASK_ALL; + + boolean found_; + + public CalqueGeometryVisitor() { + super(); + } + + public CalqueGeometryVisitor(final int _mask) { + super(); + mask_=_mask; + } + + public boolean visit(final BCalque _cq) { + // on arrete la visite + if (found_) { + return false; + } + if (_cq == null || _cq.isGroupeCalque()) { + return true; + } + + found_ = isMatching(_cq); + if (found_) { + return false; + } + return true; + } + + /** + * Controle que le calque contient des objets du type donn\xE9.<p> + * Attention : Un polygone n'est pas consid\xE9r\xE9 comme une polyligne sp\xE9cialis\xE9e. + * @param _cq Le calque a tester. + * @return True si trouv\xE9. + */ + public boolean isMatching(final BCalque _cq) { + if (_cq instanceof ZCalquePoint && (mask_&GISLib.MASK_POINT)!=0) { + return ((ZCalquePoint) _cq).modeleDonnees().getNombre() > 0; + } + else if (_cq instanceof ZCalqueMultiPoint && (mask_&GISLib.MASK_MULTIPOINT)!=0) { + return ((ZCalqueMultiPoint) _cq).modeleDonnees().getNombre() > 0; + } + else if (_cq instanceof ZCalqueLigneBrisee && (mask_&GISLib.MASK_POLYLINE)!=0) { + boolean bok=((ZCalqueLigneBrisee) _cq).modeleDonnees().getNombre() > 0; + return bok && (!((ZCalqueLigneBrisee) _cq).containsPolygone()); + } + else if (_cq instanceof ZCalqueLigneBrisee && (mask_&GISLib.MASK_POLYGONE)!=0) { + boolean bok=((ZCalqueLigneBrisee) _cq).modeleDonnees().getNombre() > 0; + return bok && ((ZCalqueLigneBrisee) _cq).containsPolygone(); + } + return false; + } + + public void setMask(int _mask) { + mask_=_mask; + } + + public int getMask() { + return mask_; + } + + public boolean isFound() { + return found_; + } + + public void resetFound() { + found_ = false; + } + +} Property changes on: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/CalqueGeometryVisitor.java ___________________________________________________________________ Added: svn:mergeinfo + Modified: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/find/CalqueFindCourbeTreeModel.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/find/CalqueFindCourbeTreeModel.java 2008-08-12 07:45:50 UTC (rev 3772) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/find/CalqueFindCourbeTreeModel.java 2008-08-12 09:58:15 UTC (rev 3773) @@ -35,6 +35,7 @@ import org.fudaa.ctulu.gis.GISAttributeConstants; import org.fudaa.ctulu.gis.GISAttributeModelObjectInterface; import org.fudaa.ctulu.gis.GISGeometry; +import org.fudaa.ctulu.gis.GISLib; import org.fudaa.ctulu.gis.GISVisitorChooser; import org.fudaa.ctulu.gis.GISVisitorLigneCollector; import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; @@ -44,6 +45,7 @@ import org.fudaa.ebli.calque.BArbreCalqueModel; import org.fudaa.ebli.calque.BCalque; import org.fudaa.ebli.calque.BGroupeCalque; +import org.fudaa.ebli.calque.CalqueGeometryVisitor; import org.fudaa.ebli.calque.ZCalqueLigneBrisee; import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.ressource.EbliResource; @@ -61,7 +63,7 @@ final BGroupeCalque rootLayer_; LayerNode rootNode_; boolean onlyLigneFerme_; - final CalqueFindPolyligneVisitor finder_ = new CalqueFindPolyligneVisitor(false); + final CalqueGeometryVisitor finder_ = new CalqueGeometryVisitor(GISLib.MASK_POLYLINE|GISLib.MASK_POLYGONE); public static class CellRenderer extends JLabel implements TreeCellRenderer { final Color selectedBackground_ = UIManager.getColor("Tree.selectionBackground"); @@ -300,7 +302,9 @@ public void setOnlyLigneFerme(final boolean _onlyLigneFerme) { onlyLigneFerme_ = _onlyLigneFerme; - finder_.setOnlyPolygone(onlyLigneFerme_); + int mask=GISLib.MASK_POLYGONE; + if (!_onlyLigneFerme) mask|=GISLib.MASK_POLYLINE; + finder_.setMask(mask); buildTree(); } Deleted: branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/find/CalqueFindPolyligneVisitor.java =================================================================== --- branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/find/CalqueFindPolyligneVisitor.java 2008-08-12 07:45:50 UTC (rev 3772) +++ branches/Br_FudaaModeleur_TF/fudaa_devel/ebli/src/org/fudaa/ebli/calque/find/CalqueFindPolyligneVisitor.java 2008-08-12 09:58:15 UTC (rev 3773) @@ -1,77 +0,0 @@ -/* - * @creation 21 nov. 06 - * @modification $Date: 2006-12-05 10:14:38 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.ebli.calque.find; - -import org.fudaa.ebli.calque.BCalque; -import org.fudaa.ebli.calque.BCalqueVisitor; -import org.fudaa.ebli.calque.ZCalqueLigneBrisee; - -/** - * @author fred deniger - * @version $Id: CalqueFindPolyligneVisitor.java,v 1.1 2006-12-05 10:14:38 deniger Exp $ - */ -public class CalqueFindPolyligneVisitor implements BCalqueVisitor { - - boolean onlyPolygone_; - - boolean found_; - - public CalqueFindPolyligneVisitor() { - super(); - } - - public CalqueFindPolyligneVisitor(final boolean _onlyPolygone) { - super(); - onlyPolygone_ = _onlyPolygone; - } - - public boolean visit(final BCalque _cq) { - // on arrete la visite - if (found_) { - return false; - } - if (_cq == null || _cq.isGroupeCalque()) { - return true; - } - - found_ = isMatching(_cq); - if (found_) { - return false; - } - return true; - } - - public boolean isMatching(final BCalque _cq) { - boolean ok = _cq instanceof ZCalqueLigneBrisee; - if (ok) { - ok = ((ZCalqueLigneBrisee) _cq).modeleDonnees().getNombre() > 0; - } - if (ok && onlyPolygone_) { - ok = ((ZCalqueLigneBrisee) _cq).containsPolygone(); - } - return ok; - - } - - public boolean isOnlyPolygone() { - return onlyPolygone_; - } - - public void setOnlyPolygone(final boolean _onlyPolygone) { - onlyPolygone_ = _onlyPolygone; - } - - public boolean isFound() { - return found_; - } - - public void resetFound() { - found_ = false; - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2008-08-12 07:45:41
|
Revision: 3772 http://fudaa.svn.sourceforge.net/fudaa/?rev=3772&view=rev Author: hadouxad Date: 2008-08-12 07:45:50 +0000 (Tue, 12 Aug 2008) Log Message: ----------- Creation des vrais alignements relatifs Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java 2008-08-11 22:46:51 UTC (rev 3771) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java 2008-08-12 07:45:50 UTC (rev 3772) @@ -47,8 +47,30 @@ @Override protected List<Point> getNewPositionFor(List<Widget> _widgetToMove) { - // TODO A terminer pour aligner en haut les widget - return null; + // on recupere le premier + // minx est le x min dans le repere de la scene + // on est oblige de passer par la car on la location ne suffit pas pour + // determiner + // la position d'un widget: ily a aussi les bounds + int maxY = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).y+_widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).height; + for (Widget widget : _widgetToMove) { + maxY = Math.max(maxY, widget.convertLocalToScene(widget.getBounds()).y+ widget.convertLocalToScene(widget.getBounds()).height); + } + List<Point> newPoints = new ArrayList<Point>(_widgetToMove.size()); + for (Widget widget : _widgetToMove) { + Point p = widget.getPreferredLocation(); + // celui la ne change pas + int oldX = p.x; + p.y = maxY; + widget.getParentWidget().convertSceneToLocal(p); + //maintenant le p.x contient la position de bounds dans le repere qu'il faut. + //la location + bounds.x vaut la postion final du dessin donc + //la location final vaut=le point du dessin - bounds.x + p.y = p.y - widget.getBounds().height- widget.getBounds().y; + p.x = oldX; + newPoints.add(p); + } + return newPoints; } } @@ -63,7 +85,34 @@ @Override protected List<Point> getNewPositionFor(List<Widget> _widgetToMove) { // TODO A terminer pour centrer horizontalement les widgets - return null; + + //on recupere les coordonnees les plus a gauche + int minx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).y; + for (Widget widget : _widgetToMove) { + minx = Math.min(minx, widget.convertLocalToScene(widget.getBounds()).y); + } + //on recupere les coordonnees les plus a droite + int maxx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).y+_widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).height; + for (Widget widget : _widgetToMove) { + maxx = Math.max(maxx, widget.convertLocalToScene(widget.getBounds()).y+ widget.convertLocalToScene(widget.getBounds()).height); + } + List<Point> newPoints = new ArrayList<Point>(_widgetToMove.size()); + for (Widget widget : _widgetToMove) { + Point p = widget.getPreferredLocation(); + // toutes les coordonnees changent, elles s alignent entre elles au centre, cf le super logiciel powerpoint + int oldY = p.x; + + // p.x se trouve a la moyenne des 2 + p.y = (maxx+minx)/2; + widget.getParentWidget().convertSceneToLocal(p); + //maintenant le p.x contient la position du centre des widgets dans le repere qu'il faut. + // + //la location final vaut=le point du milieu du dessin - sa taille/2 - sa bordure + p.y = p.y - widget.getBounds().height/2- widget.getBounds().y; + p.x = oldY; + newPoints.add(p); + } + return newPoints; } } @@ -114,8 +163,35 @@ @Override protected List<Point> getNewPositionFor(List<Widget> _widgetToMove) { - // TODO A terminer pour centrer horizontalement les widgets - return null; + // TODO A terminer pour centrer horizontalement les widgets + + //on recupere les coordonnees les plus a gauche + int minx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).x; + for (Widget widget : _widgetToMove) { + minx = Math.min(minx, widget.convertLocalToScene(widget.getBounds()).x); + } + //on recupere les coordonnees les plus a droite + int maxx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).x+_widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).width; + for (Widget widget : _widgetToMove) { + maxx = Math.max(maxx, widget.convertLocalToScene(widget.getBounds()).x+ widget.convertLocalToScene(widget.getBounds()).width); + } + List<Point> newPoints = new ArrayList<Point>(_widgetToMove.size()); + for (Widget widget : _widgetToMove) { + Point p = widget.getPreferredLocation(); + // toutes les coordonnees changent, elles s alignent entre elles au centre, cf le super logiciel powerpoint + int oldY = p.y; + + // p.x se trouve a la moyenne des 2 + p.x = (maxx+minx)/2; + widget.getParentWidget().convertSceneToLocal(p); + //maintenant le p.x contient la position du centre des widgets dans le repere qu'il faut. + // + //la location final vaut=le point du milieu du dessin - sa taille/2 - sa bordure + p.x = p.x - widget.getBounds().width/2- widget.getBounds().x; + p.y = oldY; + newPoints.add(p); + } + return newPoints; } } @@ -130,8 +206,30 @@ @Override protected List<Point> getNewPositionFor(List<Widget> _widgetToMove) { - // TODO A terminer pour aligner a droite les widget - return null; + // on recupere le premier + // minx est le x min dans le repere de la scene + // on est oblige de passer par la car on la location ne suffit pas pour + // determiner + // la position d'un widget: ily a aussi les bounds + int maxx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).x+_widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).width; + for (Widget widget : _widgetToMove) { + maxx = Math.max(maxx, widget.convertLocalToScene(widget.getBounds()).x+ widget.convertLocalToScene(widget.getBounds()).width); + } + List<Point> newPoints = new ArrayList<Point>(_widgetToMove.size()); + for (Widget widget : _widgetToMove) { + Point p = widget.getPreferredLocation(); + // celui la ne change pas + int oldY = p.y; + p.x = maxx; + widget.getParentWidget().convertSceneToLocal(p); + //maintenant le p.x contient la position de bounds dans le repere qu'il faut. + //la location + bounds.x vaut la postion final du dessin donc + //la location final vaut=le point du dessin - bounds.x + p.x = p.x - widget.getBounds().width- widget.getBounds().x; + p.y = oldY; + newPoints.add(p); + } + return newPoints; } } @@ -144,8 +242,30 @@ @Override protected List<Point> getNewPositionFor(List<Widget> _widgetToMove) { - // TODO A terminer pour aligner en haut les widget - return null; + // on recupere le premier + // miny est le y min dans le repere de la scene + // on est oblige de passer par la car on la location ne suffit pas pour + // determiner + // la position d'un widget: il y a aussi les bounds + int miny = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).y; + for (Widget widget : _widgetToMove) { + miny = Math.min(miny, widget.convertLocalToScene(widget.getBounds()).y); + } + List<Point> newPoints = new ArrayList<Point>(_widgetToMove.size()); + for (Widget widget : _widgetToMove) { + Point p = widget.getPreferredLocation(); + // celui la ne change pas + int oldX = p.x; + p.y = miny; + widget.getParentWidget().convertSceneToLocal(p); + //maintenant le p.y contient la position de bounds dans le repere qu'il faut. + //la location + bounds.x vaut la postion final du dessin donc + //la location final vaut=le point du dessin - bounds.x + p.y = p.y - widget.getBounds().y; + p.x = oldX; + newPoints.add(p); + } + return newPoints; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <opa...@us...> - 2008-08-11 22:46:50
|
Revision: 3771 http://fudaa.svn.sourceforge.net/fudaa/?rev=3771&view=rev Author: opasteur Date: 2008-08-11 22:46:51 +0000 (Mon, 11 Aug 2008) Log Message: ----------- Modified Paths: -------------- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dBornesGrapheEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCrueCalagePanel.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCruesCalageEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCustomizer.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCustomizerImprimable.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dExtremLibreEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dFiltrageProfilEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dInsererProfilEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dLaissesEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dLissageProfilEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dListingsCalageEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dLoiHydrauliqueEditor2.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dMeteoEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dModeleQEauEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresCalageEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresGenerauxAvancesEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresResultatsEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresTemporelsEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParamsGenerauxQualiteDEauEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dPlanimetrageEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dResultatsGenerauxEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dSeuilAvecLoiEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dSeuilLoiEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dTranslaterProfilEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dVariablesResultatsEditor.java trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dZoneFrottementEditor.java Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dBornesGrapheEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dBornesGrapheEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dBornesGrapheEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -8,16 +8,27 @@ */ package org.fudaa.fudaa.hydraulique1d.editor; -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; -import javax.swing.border.*; - -import com.memoire.bu.*; +import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Dimension; -import java.awt.BorderLayout; -import java.text.*; +import java.awt.Frame; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.text.DecimalFormat; +import javax.swing.BorderFactory; +import javax.swing.JDialog; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.border.Border; + +import com.memoire.bu.BuButton; +import com.memoire.bu.BuGridLayout; +import com.memoire.bu.BuResource; +import com.memoire.bu.BuTextField; + /** * Editeur pour le choix de la m\xE9thode de lissage. * @author Bertrand Marchand Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCrueCalagePanel.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCrueCalagePanel.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCrueCalagePanel.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -18,10 +18,10 @@ import javax.swing.JScrollPane; import javax.swing.border.TitledBorder; +import org.fudaa.dodico.hydraulique1d.metier.MetierReseau; import org.fudaa.dodico.hydraulique1d.metier.calageauto.MetierApportCrueCalageAuto; import org.fudaa.dodico.hydraulique1d.metier.calageauto.MetierCrueCalageAuto; import org.fudaa.dodico.hydraulique1d.metier.calageauto.MetierMesureCrueCalageAuto; -import org.fudaa.dodico.hydraulique1d.metier.MetierReseau; import org.fudaa.fudaa.hydraulique1d.tableau.Hydraulique1dLigneReelTableau; import org.fudaa.fudaa.hydraulique1d.tableau.Hydraulique1dTableauReel; import org.fudaa.fudaa.hydraulique1d.tableau.Hydraulique1dTableauReelModel; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCruesCalageEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCruesCalageEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCruesCalageEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -20,9 +20,9 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; -import org.fudaa.dodico.hydraulique1d.metier.calageauto.MetierCrueCalageAuto; import org.fudaa.dodico.hydraulique1d.metier.MetierEtude1d; import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; +import org.fudaa.dodico.hydraulique1d.metier.calageauto.MetierCrueCalageAuto; import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.dialog.BDialogContent; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCustomizer.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCustomizer.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCustomizer.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -8,20 +8,19 @@ */ package org.fudaa.fudaa.hydraulique1d.editor; import javax.swing.JComponent; +import javax.swing.JDialog; +import javax.swing.JInternalFrame; -import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication; - -import com.memoire.bu.BuCommonInterface; -import com.memoire.bu.BuCommonImplementation; - import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; import org.fudaa.dodico.hydraulique1d.metier.evenement.H1dObjetEvent; import org.fudaa.dodico.hydraulique1d.metier.evenement.H1dObjetEventListener; import org.fudaa.dodico.hydraulique1d.metier.evenement.Notifieur; import org.fudaa.ebli.dialog.BDialogContent; import org.fudaa.ebli.dialog.IDialogInterface; -import javax.swing.JInternalFrame; -import javax.swing.JDialog; +import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication; + +import com.memoire.bu.BuCommonImplementation; +import com.memoire.bu.BuCommonInterface; /** * Classe abstraite, m\xE8re de tous les \xE9diteurs et \xE9couteur de tous les \xE9v\xE9nements m\xE9tiers du mod\xE8le hydraulique1D.<br> * Ainsi, toutes les classes filles sont \xE9galement \xE9couteurs des \xE9v\xE9nements m\xE9tiers et devront r\xE9-impl\xE9menter les m\xE9thodes suivantes suivant le besoins\xA0: Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCustomizerImprimable.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCustomizerImprimable.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dCustomizerImprimable.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -18,7 +18,6 @@ import org.fudaa.ctulu.image.CtuluImageProducer; import org.fudaa.ctulu.image.CtuluLibImage; - import org.fudaa.ebli.dialog.BDialogContent; import org.fudaa.ebli.impression.EbliPageFormat; import org.fudaa.ebli.impression.EbliPageable; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dExtremLibreEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dExtremLibreEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dExtremLibreEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -33,11 +33,10 @@ import org.fudaa.dodico.hydraulique1d.metier.qualitedeau.EnumMetierTypeCondLimiteTracer; import org.fudaa.dodico.hydraulique1d.metier.qualitedeau.MetierLimiteQualiteDEau; import org.fudaa.dodico.hydraulique1d.metier.qualitedeau.MetierParametresModeleQualiteEau; - -import org.fudaa.fudaa.hydraulique1d.CGlobal; import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.commun.LineChoiceBorder; import org.fudaa.ebli.dialog.BDialogContent; +import org.fudaa.fudaa.hydraulique1d.CGlobal; import org.fudaa.fudaa.hydraulique1d.ihmhelper.Hydraulique1dIHMRepository; import com.memoire.bu.BuBorderLayout; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dFiltrageProfilEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dFiltrageProfilEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dFiltrageProfilEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -8,14 +8,26 @@ */ package org.fudaa.fudaa.hydraulique1d.editor; -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; -import javax.swing.border.*; - -import com.memoire.bu.*; +import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Dimension; +import java.awt.Frame; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import javax.swing.BorderFactory; +import javax.swing.JDialog; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.border.Border; + +import com.memoire.bu.BuButton; +import com.memoire.bu.BuGridLayout; +import com.memoire.bu.BuResource; +import com.memoire.bu.BuTextField; + /** * Editeur pour le filtrage du profil. * @author Bertrand Marchand Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dGraphesResultatsEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -7,13 +7,11 @@ * @mail de...@fu... */ package org.fudaa.fudaa.hydraulique1d.editor; -import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; import java.awt.Graphics; import java.awt.HeadlessException; import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.awt.image.BufferedImage; import java.awt.print.PageFormat; import java.io.File; @@ -30,29 +28,20 @@ import javax.swing.JDialog; import javax.swing.JFileChooser; import javax.swing.JScrollPane; -import javax.swing.JSplitPane; -import javax.swing.ListSelectionModel; -import javax.swing.border.TitledBorder; -import javax.swing.event.ListSelectionEvent; -import javax.swing.event.ListSelectionListener; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.gui.CtuluFileChooser; import org.fudaa.ctulu.image.CtuluImageExport; -import org.fudaa.dodico.hydraulique1d.metier.EnumMetierUnite; import org.fudaa.dodico.hydraulique1d.metier.MetierDonneesHydrauliques; import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; import org.fudaa.dodico.hydraulique1d.metier.MetierLaisse; import org.fudaa.dodico.hydraulique1d.metier.MetierReseau; import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpatial; -import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpatialBief; - -import org.fudaa.ebli.animation.EbliAnimation; +import org.fudaa.ebli.animation.EbliAnimationAction; import org.fudaa.ebli.animation.EbliAnimationSourceInterface; import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.dialog.BDialogContent; import org.fudaa.ebli.dialog.BPanneauNavigation; -import org.fudaa.ebli.graphe.BGrapheEditeurAxes; import org.fudaa.ebli.graphe.Contrainte; import org.fudaa.ebli.graphe.CourbeDefault; import org.fudaa.ebli.graphe.Valeur; @@ -65,21 +54,14 @@ import org.fudaa.fudaa.hydraulique1d.ihmhelper.Hydraulique1dIHMRepository; import org.fudaa.fudaa.hydraulique1d.ihmhelper.Hydraulique1dIHM_ProfilResultats; -import com.memoire.bu.BuBorderLayout; -import com.memoire.bu.BuCheckBox; import com.memoire.bu.BuCommonImplementation; import com.memoire.bu.BuCommonInterface; import com.memoire.bu.BuFileFilter; import com.memoire.bu.BuList; -import com.memoire.bu.BuPanel; -import com.memoire.bu.BuRadioButton; import com.memoire.bu.BuResource; -import com.memoire.bu.BuScrollPane; import com.memoire.bu.BuTabbedPane; import com.memoire.bu.BuTaskOperation; -import com.memoire.bu.BuVerticalLayout; import com.memoire.fu.FuLib; -import org.fudaa.ebli.animation.EbliAnimationAction; /** * Editeur des r\xE9sultats sous forme graphiques (trac\xE9 des courbes) (MetierResultatsTemporelSpatial).<br> * Appeler si l'utilisateur clic sur le menu "Mascaret/Graphes".<br> Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dInsererProfilEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dInsererProfilEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dInsererProfilEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -8,19 +8,35 @@ */ package org.fudaa.fudaa.hydraulique1d.editor; -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; -import javax.swing.border.*; +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.Frame; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.io.File; -import com.memoire.bu.*; -import org.fudaa.ctulu.gui.*; -import java.awt.Dimension; +import javax.swing.JCheckBox; +import javax.swing.JDialog; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JRadioButton; +import javax.swing.border.Border; +import javax.swing.border.TitledBorder; + +import org.fudaa.ctulu.gui.CtuluLibSwing; +import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication; import org.fudaa.fudaa.hydraulique1d.Hydraulique1dImport; -import java.io.File; import org.fudaa.fudaa.hydraulique1d.Hydraulique1dProfilModel; -import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication; +import com.memoire.bu.BuButton; +import com.memoire.bu.BuCommonInterface; +import com.memoire.bu.BuDialogError; +import com.memoire.bu.BuGridLayout; +import com.memoire.bu.BuResource; +import com.memoire.bu.BuTextField; + /** * Editeur pour le choix de la m\xE9thode de lissage. * @author Bertrand Marchand Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dLaissesEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dLaissesEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dLaissesEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -10,10 +10,10 @@ import java.awt.event.ActionEvent; -import org.fudaa.dodico.hydraulique1d.metier.calageauto.MetierCalageAuto; import org.fudaa.dodico.hydraulique1d.metier.MetierDonneesHydrauliques; import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; import org.fudaa.dodico.hydraulique1d.metier.MetierReseau; +import org.fudaa.dodico.hydraulique1d.metier.calageauto.MetierCalageAuto; import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.fudaa.hydraulique1d.CGlobal; import org.fudaa.fudaa.hydraulique1d.tableau.Hydraulique1dTableauLaisseModel; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dLissageProfilEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dLissageProfilEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dLissageProfilEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -8,13 +8,26 @@ */ package org.fudaa.fudaa.hydraulique1d.editor; -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; -import javax.swing.border.*; +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Frame; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; -import com.memoire.bu.*; +import javax.swing.BorderFactory; +import javax.swing.JComboBox; +import javax.swing.JDialog; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.border.Border; +import com.memoire.bu.BuButton; +import com.memoire.bu.BuGridLayout; +import com.memoire.bu.BuResource; +import com.memoire.bu.BuTextField; + /** * Editeur pour le choix de la m\xE9thode de lissage. * @author Bertrand Marchand Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dListingsCalageEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dListingsCalageEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dListingsCalageEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -26,9 +26,8 @@ import javax.swing.text.StyleContext; import javax.swing.text.StyledDocument; - -import org.fudaa.dodico.hydraulique1d.metier.calageauto.MetierResultatsCalageAuto; import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; +import org.fudaa.dodico.hydraulique1d.metier.calageauto.MetierResultatsCalageAuto; import org.fudaa.ebli.commun.EbliListModelLargeString; import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.dialog.BDialogContent; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dLoiHydrauliqueEditor2.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dLoiHydrauliqueEditor2.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dLoiHydrauliqueEditor2.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -7,7 +7,11 @@ * @mail de...@fu... */ package org.fudaa.fudaa.hydraulique1d.editor; -import java.awt.*; +import java.awt.BorderLayout; +import java.awt.Container; +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.print.PageFormat; @@ -35,7 +39,17 @@ import org.fudaa.fudaa.hydraulique1d.tableau.Hydraulique1dTableauReel; import org.fudaa.fudaa.hydraulique1d.tableau.Hydraulique1dTableauReelModel; -import com.memoire.bu.*; +import com.memoire.bu.BuBorderLayout; +import com.memoire.bu.BuCommonInterface; +import com.memoire.bu.BuCutCopyPasteInterface; +import com.memoire.bu.BuDialogError; +import com.memoire.bu.BuHorizontalLayout; +import com.memoire.bu.BuLabel; +import com.memoire.bu.BuPanel; +import com.memoire.bu.BuRadioButton; +import com.memoire.bu.BuScrollPane; +import com.memoire.bu.BuTextField; +import com.memoire.bu.BuVerticalLayout; /** * Editeur d'une loi hydraulique (DLoiHydraulique).<br> * Appeler si l'utilisateur clic sur le bouton "EDITER" du gestionnaire des lois hydrauliques.<br> Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dMeteoEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dMeteoEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dMeteoEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -18,7 +18,6 @@ import org.fudaa.dodico.hydraulique1d.metier.qualitedeau.MetierParametresGenerauxQualiteDEau; import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.dialog.BDialogContent; - import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication; import org.fudaa.fudaa.hydraulique1d.Hydraulique1dExport; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dModeleQEauEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dModeleQEauEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dModeleQEauEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -30,7 +30,6 @@ import org.fudaa.dodico.hydraulique1d.metier.qualitedeau.EnumMetierModeleQualiteDEau; import org.fudaa.dodico.hydraulique1d.metier.qualitedeau.MetierParametresModeleQualiteEau; import org.fudaa.dodico.hydraulique1d.metier.qualitedeau.MetierParametresQualiteDEau; - import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.dialog.BDialogContent; import org.fudaa.fudaa.hydraulique1d.tableau.Hydraulique1dTableau; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresCalageEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresCalageEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresCalageEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -17,10 +17,10 @@ import javax.swing.border.Border; import javax.swing.border.EtchedBorder; +import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; import org.fudaa.dodico.hydraulique1d.metier.calageauto.EnumMetierMethodeOpt; import org.fudaa.dodico.hydraulique1d.metier.calageauto.EnumMetierTypeLit; import org.fudaa.dodico.hydraulique1d.metier.calageauto.MetierParametresCalageAuto; -import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.dialog.BDialogContent; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresGenerauxAvancesEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresGenerauxAvancesEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresGenerauxAvancesEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -18,7 +18,6 @@ import javax.swing.border.EmptyBorder; import javax.swing.border.EtchedBorder; - import org.fudaa.dodico.hydraulique1d.metier.EnumMetierRegime; import org.fudaa.dodico.hydraulique1d.metier.EnumMetierTypeCompositionLits; import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresResultatsEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresResultatsEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresResultatsEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -20,10 +20,7 @@ import javax.swing.border.EtchedBorder; import javax.swing.border.TitledBorder; -import org.fudaa.fudaa.hydraulique1d.CGlobal; import org.fudaa.dodico.hydraulique1d.metier.EnumMetierOptionStockage; -import org.fudaa.dodico.hydraulique1d.metier.EnumMetierTypeNombre; -import org.fudaa.dodico.hydraulique1d.metier.EnumMetierUnite; import org.fudaa.dodico.hydraulique1d.metier.MetierEtude1d; import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; import org.fudaa.dodico.hydraulique1d.metier.MetierParametresResultats; @@ -31,6 +28,7 @@ import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.commun.LineChoiceBorder; import org.fudaa.ebli.dialog.BDialogContent; +import org.fudaa.fudaa.hydraulique1d.CGlobal; import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuButton; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresTemporelsEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresTemporelsEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresTemporelsEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -28,7 +28,6 @@ import org.fudaa.dodico.hydraulique1d.metier.MetierParametresGeneraux; import org.fudaa.dodico.hydraulique1d.metier.MetierParametresTemporels; import org.fudaa.dodico.hydraulique1d.metier.MetierReseau; - import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.commun.LineChoiceBorder; import org.fudaa.ebli.dialog.BDialogContent; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParamsGenerauxQualiteDEauEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParamsGenerauxQualiteDEauEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParamsGenerauxQualiteDEauEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -27,7 +27,6 @@ import org.fudaa.dodico.hydraulique1d.metier.qualitedeau.MetierParametresConvecDiffu; import org.fudaa.dodico.hydraulique1d.metier.qualitedeau.MetierParametresGenerauxQualiteDEau; import org.fudaa.dodico.hydraulique1d.metier.qualitedeau.MetierParametresQualiteDEau; - import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.commun.LineChoiceBorder; import org.fudaa.ebli.dialog.BDialogContent; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dPlanimetrageEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dPlanimetrageEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dPlanimetrageEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -7,23 +7,23 @@ * @mail de...@fu... */ package org.fudaa.fudaa.hydraulique1d.editor; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.Iterator; +import java.util.List; + import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; import org.fudaa.dodico.hydraulique1d.metier.MetierReseau; import org.fudaa.dodico.hydraulique1d.metier.MetierZonePlanimetrage; -import org.fudaa.fudaa.hydraulique1d.tableau.Hydraulique1dLigneReelTableau; import org.fudaa.fudaa.hydraulique1d.tableau.Hydraulique1dLigneZoneTableau; import org.fudaa.fudaa.hydraulique1d.tableau.Hydraulique1dTableauZoneTailleModel; -import com.memoire.bu.BuTextField; import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuButton; +import com.memoire.bu.BuCheckBox; import com.memoire.bu.BuHorizontalLayout; import com.memoire.bu.BuPanel; -import com.memoire.bu.BuCheckBox; - -import java.awt.event.*; -import java.util.Iterator; -import java.util.List; +import com.memoire.bu.BuTextField; /** * Editeur des zones de planim\xE9trages (MetierZonePlanimetrage).<br> * Appeler si l'utilisateur clic sur le menu "Mascaret/Planim\xE9trage".<br> Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dResultatsGenerauxEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dResultatsGenerauxEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dResultatsGenerauxEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -26,13 +26,12 @@ import javax.swing.text.StyleContext; import javax.swing.text.StyledDocument; -import org.fudaa.fudaa.hydraulique1d.CGlobal; - import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsGeneraux; import org.fudaa.ebli.commun.EbliListModelLargeString; import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.dialog.BDialogContent; +import org.fudaa.fudaa.hydraulique1d.CGlobal; import com.memoire.bu.BuScrollPane; import com.memoire.bu.BuTabbedPane; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dSeuilAvecLoiEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dSeuilAvecLoiEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dSeuilAvecLoiEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -22,14 +22,7 @@ import javax.swing.border.EmptyBorder; import javax.swing.border.EtchedBorder; -import com.memoire.bu.BuButton; -import com.memoire.bu.BuHorizontalLayout; -import com.memoire.bu.BuLabel; -import com.memoire.bu.BuPanel; -import com.memoire.bu.BuTextField; -import com.memoire.bu.BuVerticalLayout; -import com.memoire.bu.BuMultiLabel; - +import org.fudaa.ctulu.gui.CtuluLibSwing; import org.fudaa.dodico.hydraulique1d.metier.EnumMetierRegime; import org.fudaa.dodico.hydraulique1d.metier.MetierBief; import org.fudaa.dodico.hydraulique1d.metier.MetierDonneesHydrauliques; @@ -52,8 +45,14 @@ import org.fudaa.ebli.dialog.BDialogContent; import org.fudaa.fudaa.hydraulique1d.ihmhelper.Hydraulique1dIHMRepository; +import com.memoire.bu.BuButton; +import com.memoire.bu.BuHorizontalLayout; +import com.memoire.bu.BuLabel; +import com.memoire.bu.BuMultiLabel; +import com.memoire.bu.BuPanel; import com.memoire.bu.BuResource; -import org.fudaa.ctulu.gui.CtuluLibSwing; +import com.memoire.bu.BuTextField; +import com.memoire.bu.BuVerticalLayout; /** * Editeur des seuils faisant r\xE9f\xE9rence \xE0 une loi hydraulique (MetierSeuil).<br> * Appeler si l'utilisateur clic sur une singularit\xE9 de type "Hydraulique1dReseauSeuil" Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dSeuilLoiEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dSeuilLoiEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dSeuilLoiEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -29,7 +29,6 @@ import org.fudaa.dodico.hydraulique1d.metier.singularite.EnumMetierEpaisseurSeuil; import org.fudaa.dodico.hydraulique1d.metier.singularite.MetierSeuilLoi; import org.fudaa.dodico.hydraulique1d.metier.singularite.MetierSeuilTranscritique; - import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.dialog.BDialogContent; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dTranslaterProfilEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dTranslaterProfilEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dTranslaterProfilEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -8,16 +8,27 @@ */ package org.fudaa.fudaa.hydraulique1d.editor; -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; -import javax.swing.border.*; - -import com.memoire.bu.*; +import java.awt.BorderLayout; +import java.awt.Color; import java.awt.Dimension; -import java.awt.BorderLayout; -import java.text.*; +import java.awt.Frame; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.text.DecimalFormat; +import javax.swing.BorderFactory; +import javax.swing.JDialog; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.border.Border; + +import com.memoire.bu.BuButton; +import com.memoire.bu.BuGridLayout; +import com.memoire.bu.BuResource; +import com.memoire.bu.BuTextField; + /** * Editeur pour le choix de la m\xE9thode de lissage. * @author Bertrand Marchand Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dVariablesResultatsEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dVariablesResultatsEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dVariablesResultatsEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -17,8 +17,6 @@ import javax.swing.border.EmptyBorder; import javax.swing.border.EtchedBorder; -import org.fudaa.dodico.hydraulique1d.metier.EnumMetierTypeNombre; -import org.fudaa.dodico.hydraulique1d.metier.EnumMetierUnite; import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; import org.fudaa.dodico.hydraulique1d.metier.MetierParametresResultats; import org.fudaa.ebli.commun.EbliPreferences; Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dZoneFrottementEditor.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dZoneFrottementEditor.java 2008-08-11 21:54:12 UTC (rev 3770) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dZoneFrottementEditor.java 2008-08-11 22:46:51 UTC (rev 3771) @@ -10,8 +10,8 @@ import java.awt.event.ActionEvent; import java.io.File; +import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; import org.fudaa.dodico.hydraulique1d.metier.calageauto.MetierCalageAuto; -import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d; import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.fudaa.hydraulique1d.CGlobal; import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-08-11 21:54:16
|
Revision: 3770 http://fudaa.svn.sourceforge.net/fudaa/?rev=3770&view=rev Author: deniger Date: 2008-08-11 21:54:12 +0000 (Mon, 11 Aug 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/CommandMove.java Copied: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/CommandMove.java (from rev 3762, branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionUndoRedo.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/CommandMove.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/CommandMove.java 2008-08-11 21:54:12 UTC (rev 3770) @@ -0,0 +1,67 @@ +package org.fudaa.ebli.visuallibrary.actions; + +import java.awt.Point; +import java.util.Arrays; +import java.util.List; + +import org.fudaa.ctulu.CtuluCommand; +import org.fudaa.ebli.visuallibrary.EbliScene; +import org.netbeans.api.visual.widget.Widget; + +/** + * classe qui permet de faire du undo redo de positions de une ou plusieurs widgets + * + * @author genesis + * + */ +public class CommandMove implements CtuluCommand { + + List<Widget> widgets_; + List<Point> oldPos_; + List<Point> newPos_; + + public CommandMove(List<Widget> _widgets, List<Point> _oldPos, List<Point> _newPos) { + super(); + this.newPos_ = _newPos; + this.oldPos_ = _oldPos; + this.widgets_ = _widgets; + if (_newPos.size() != _oldPos.size()) + throw new IllegalArgumentException("list must ahava the same size"); + if (_widgets.size() != _oldPos.size()) + throw new IllegalArgumentException("list must ahava the same size"); + } + + public CommandMove(Widget _widget, Point _oldPos, Point _newPos) { + super(); + this.newPos_ = Arrays.asList(_newPos); + this.oldPos_ = Arrays.asList(_oldPos); + this.widgets_ = Arrays.asList(_widget); + } + + public void redo() { + final int nb = widgets_.size(); + if (nb == 0) + return; + for (int i = 0; i < nb; i++) { + widgets_.get(i).setPreferredLocation(newPos_.get(i)); + + } + refreshScene(); + } + + private void refreshScene() { + EbliScene.refreshScene(widgets_.get(0).getScene()); + } + + public void undo() { + final int nb = widgets_.size(); + if (nb == 0) + return; + for (int i = 0; i < nb; i++) { + widgets_.get(i).setPreferredLocation(oldPos_.get(i)); + + } + refreshScene(); + } + +} Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/CommandMove.java ___________________________________________________________________ Added: svn:mergeinfo + Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java 2008-08-11 21:32:37 UTC (rev 3769) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java 2008-08-11 21:54:12 UTC (rev 3770) @@ -4,22 +4,23 @@ import java.awt.Point; import java.awt.Rectangle; import java.awt.event.ActionEvent; -import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Set; -import javax.swing.AbstractAction; +import javax.swing.Icon; -import org.fudaa.ctulu.CtuluCommand; +import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluCommandManager; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.ebli.ressource.EbliResource; import org.fudaa.ebli.visuallibrary.EbliNode; -import org.fudaa.ebli.visuallibrary.EbliNodeDefault; import org.fudaa.ebli.visuallibrary.EbliScene; -import org.fudaa.ebli.visuallibrary.graphe.EbliWidgetCreatorGraphe; import org.netbeans.api.visual.widget.Widget; +import sun.security.action.GetLongAction; + /** * Action qui permet de realiser l alignement des composants. * @@ -36,154 +37,304 @@ *@author Adrien Hadoux * */ -public class EbliWidgetActionAlign extends AbstractAction { +public abstract class EbliWidgetActionAlign extends EbliActionSimple { - /** - * - */ - private static final long serialVersionUID = 1L; - EbliScene scene_; - public final static int ALIGNLEFT = 0; - public final static int ALIGNRIGHT = 1; - public final static int ALIGNCENTERHORIZONTAL = 2; - public final static int ALIGNCENTERVERTICAL = 3; - public final static int ALIGNTOP = 4; - public final static int ALIGNBOTTOM = 5; + public static class Bottom extends EbliWidgetActionAlign { - int typeAlignement_; - - - CtuluCommandManager cmd_=new CtuluCommandManager() ; + public Bottom(EbliScene _scene) { + super(EbliResource.EBLI.getString("en bas"), EbliResource.EBLI.getToolIcon("aobottom"), "BOTTOM", _scene); + } + @Override + protected List<Point> getNewPositionFor(List<Widget> _widgetToMove) { + // TODO A terminer pour aligner en haut les widget + return null; + } - public EbliWidgetActionAlign(EbliScene _scene, int _typeAlignement) { - super(); - // TODO Auto-generated constructor stub - scene_ = _scene; - typeAlignement_ = _typeAlignement; - // -- renseignements des infos complementaires --// - putValue(NAME, "Alignement " + traduct(_typeAlignement)); + } - } + public static class Center extends EbliWidgetActionAlign { - public void actionPerformed(ActionEvent e) { - // TODO Auto-generated method stub - alignComponents(); - - - } - + public Center(EbliScene _scene) { + super(EbliResource.EBLI.getString("Centrer verticalement"), EbliResource.EBLI.getToolIcon("aocenterv"), + "CENTERV", _scene); + } - /** - * methode qui recalcule la nouvelle position par rapport a la scene et a l - * alignement choisiT. - */ - - private Point calculeNewLocation(Point _previousLocation, - Rectangle _dimensionWidget, Dimension _dimensionScene) { + @Override + protected List<Point> getNewPositionFor(List<Widget> _widgetToMove) { + // TODO A terminer pour centrer horizontalement les widgets + return null; + } - switch (typeAlignement_) { - case ALIGNLEFT: - return new Point(0, _previousLocation.y); - case ALIGNRIGHT: - return new Point(_dimensionScene.width - _dimensionWidget.width, - _previousLocation.y); - case ALIGNCENTERHORIZONTAL: - return new Point(_dimensionScene.width / 2 - _dimensionWidget.width - / 2, _previousLocation.y); - case ALIGNCENTERVERTICAL: - return new Point(_previousLocation.x, _dimensionScene.height / 2 - - _dimensionWidget.height / 2); - case ALIGNTOP: - return new Point(_previousLocation.x, 0); - case ALIGNBOTTOM: - return new Point(_previousLocation.x, _dimensionScene.height - - _dimensionWidget.height); + } - default: - return _previousLocation; - } + @SuppressWarnings("serial") + public static class Left extends EbliWidgetActionAlign { - } + public Left(EbliScene _scene) { + super(EbliResource.EBLI.getString("Alignement \xE0 gauche"), EbliResource.EBLI.getToolIcon("aoleft"), "LEFT", _scene); + } - private String traduct(int _align) { - switch (typeAlignement_) { - case ALIGNLEFT: - return "\xE0 gauche"; - case ALIGNRIGHT: - return "\xE0 droite"; - case ALIGNCENTERHORIZONTAL: - return "centr\xE9 horizontal"; - case ALIGNCENTERVERTICAL: - return "centr\xE9 vertical"; - case ALIGNTOP: - return "en haut"; - case ALIGNBOTTOM: - return "en bas"; + @Override + protected List<Point> getNewPositionFor(List<Widget> _widgetToMove) { + // on recupere le premier + // minx est le x min dans le repere de la scene + // on est oblige de passer par la car on la location ne suffit pas pour + // determiner + // la position d'un widget: ily a aussi les bounds + int minx = _widgetToMove.get(0).convertLocalToScene(_widgetToMove.get(0).getBounds()).x; + for (Widget widget : _widgetToMove) { + minx = Math.min(minx, widget.convertLocalToScene(widget.getBounds()).x); + } + List<Point> newPoints = new ArrayList<Point>(_widgetToMove.size()); + for (Widget widget : _widgetToMove) { + Point p = widget.getPreferredLocation(); + // celui la ne change pas + int oldY = p.y; + p.x = minx; + widget.getParentWidget().convertSceneToLocal(p); + //maintenant le p.x contient la position de bounds dans le repere qu'il faut. + //la location + bounds.x vaut la postion final du dessin donc + //la location final vaut=le point du dessin - bounds.x + p.x = p.x - widget.getBounds().x; + p.y = oldY; + newPoints.add(p); + } + return newPoints; + } - default: - return ""; - } - } + } - /** - * action alignement qui realise l alignements de tous les composants - */ - public void alignComponents() { + public static class Middle extends EbliWidgetActionAlign { - + public Middle(EbliScene _scene) { + super(EbliResource.EBLI.getString("Centrer horizontalement"), EbliResource.EBLI.getToolIcon("aocenterh"), + "CENTERH", _scene); + } - // -- recuperation de la liste des widgets selectionnees --// + @Override + protected List<Point> getNewPositionFor(List<Widget> _widgetToMove) { + // TODO A terminer pour centrer horizontalement les widgets + return null; + } - Set<EbliNode> listeNode = (Set<EbliNode>) scene_.getSelectedObjects();// scene_ - // . - // getNodes - // ( - // ) - // ; + } - // -- parcours des nodes - for (Iterator<EbliNode> it = listeNode.iterator(); it.hasNext();) { + @SuppressWarnings("serial") + public static class Right extends EbliWidgetActionAlign { - EbliNode currentNode = it.next(); - if (currentNode != null && currentNode.isMovable()) { + public Right(EbliScene _scene) { + super(EbliResource.EBLI.getString("Alignement \xE0 droite"), EbliResource.EBLI.getToolIcon("aoright"), "RIGHT", + _scene); + } - // -- deplacement que si la widget est selectionnee --// - if (currentNode.getCreator().getWidget().getState() - .isSelected()) { + @Override + protected List<Point> getNewPositionFor(List<Widget> _widgetToMove) { + // TODO A terminer pour aligner a droite les widget + return null; + } - // -- enregistrement de la previous position --// - Point previousLocation=currentNode.getPreferedLocation(); + } - // -- calcul de la nouvelle position du node en fonction de - // l alignement choisi --// - Point newLocation = calculeNewLocation(currentNode - .getCreator().getWidget().getLocation(), - currentNode.getCreator().getWidget().getBounds(), - scene_.getView().getSize()); + public static class Top extends EbliWidgetActionAlign { - // -- tentative de modification de la position du node --// - currentNode.setPreferedLocation(newLocation); + public Top(EbliScene _scene) { + super(EbliResource.EBLI.getString("en haut"), EbliResource.EBLI.getToolIcon("aotop"), "TOP", _scene); + } - currentNode.getCreator().getWidget().revalidate(); - currentNode.getCreator().getWidget().repaint(); - - //-- enregistrement de la commande undo redo --// - - //--creation d une commande undo redo --// - EbliWidgetActionUndoRedo cmd=new EbliWidgetActionUndoRedo(newLocation,previousLocation,currentNode.getCreator().getWidget()); - - //-- ajout de la commande undo redo --// - if (cmd_ != null) - cmd_.addCmd(cmd); + @Override + protected List<Point> getNewPositionFor(List<Widget> _widgetToMove) { + // TODO A terminer pour aligner en haut les widget + return null; + } - } - } + } - } - // -- rafraichissement de la scene --// - scene_.refresh(); + /** + * + */ + private static final long serialVersionUID = 1L; + EbliScene scene_; - } + // public final static int ALIGNLEFT = 0; + // + // public final static int ALIGNRIGHT = 1; + // + // public final static int ALIGNCENTERHORIZONTAL = 2; + // + // public final static int ALIGNCENTERVERTICAL = 3; + // + // public final static int ALIGNTOP = 4; + // + // public final static int ALIGNBOTTOM = 5; + // + // int typeAlignement_; + CtuluCommandContainer cmd_; + + public EbliWidgetActionAlign(String name, Icon ic, String id, EbliScene _scene) { + super(name, ic, id); + // TODO Auto-generated constructor stub + scene_ = _scene; + cmd_ = _scene.getCmdMng(); + // typeAlignement_ = _typeAlignement; + // -- renseignements des infos complementaires --// + // putValue(NAME, "Alignement " + traduct(_typeAlignement)); + + } + + public void actionPerformed(ActionEvent e) { + // -- recuperation de la liste des widgets selectionnees --// + Set<EbliNode> listeNode = (Set<EbliNode>) scene_.getSelectedObjects();// scene_ + // pas de selection: on return + if (listeNode == null || listeNode.isEmpty()) + return; + List<Widget> widgetToMove = new ArrayList<Widget>(listeNode.size()); + // liste des anciens points + List<Point> oldSize = new ArrayList<Point>(listeNode.size()); + // -- parcours des nodes + for (Iterator<EbliNode> it = listeNode.iterator(); it.hasNext();) { + + EbliNode currentNode = it.next(); + if (currentNode.isMovable()) { + Widget widget = scene_.findWidget(currentNode); + widgetToMove.add(widget); + oldSize.add(widget.getPreferredLocation()); + } + } + if (widgetToMove.isEmpty()) + return; + // on calcule les nouvelles positions + List<Point> newPos = getNewPositionFor(widgetToMove); + // on met a jour les positions + if (newPos != null) { + for (int i = 0; i < newPos.size(); i++) { + widgetToMove.get(i).setPreferredLocation(newPos.get(i)); + } + } + // on enregistre la commande + if (cmd_ != null) { + cmd_.addCmd(new CommandMove(widgetToMove, oldSize, newPos)); + } + scene_.refresh(); + + } + + /** + * methode qui recalcule la nouvelle position par rapport a la scene et a l + * alignement choisiT. + */ + + // private Point calculeNewLocation(Point _previousLocation, Rectangle + // _dimensionWidget, Dimension _dimensionScene) { + // + // switch (typeAlignement_) { + // case ALIGNLEFT: + // return new Point(0, _previousLocation.y); + // case ALIGNRIGHT: + // return new Point(_dimensionScene.width - _dimensionWidget.width, + // _previousLocation.y); + // case ALIGNCENTERHORIZONTAL: + // return new Point(_dimensionScene.width / 2 - _dimensionWidget.width / 2, + // _previousLocation.y); + // case ALIGNCENTERVERTICAL: + // return new Point(_previousLocation.x, _dimensionScene.height / 2 - + // _dimensionWidget.height / 2); + // case ALIGNTOP: + // return new Point(_previousLocation.x, 0); + // case ALIGNBOTTOM: + // return new Point(_previousLocation.x, _dimensionScene.height - + // _dimensionWidget.height); + // + // default: + // return _previousLocation; + // } + // + // } + /** + * @param _widgetToMove + * non vide et non null + * @return les nouvelles positions correspondantes aux points pass\xE9s en + * parametres + */ + protected abstract List<Point> getNewPositionFor(List<Widget> _widgetToMove); + + // private String traduct(int _align) { + // switch (typeAlignement_) { + // case ALIGNLEFT: + // return "\xE0 gauche"; + // case ALIGNRIGHT: + // return "\xE0 droite"; + // case ALIGNCENTERHORIZONTAL: + // return "centr\xE9 horizontal"; + // case ALIGNCENTERVERTICAL: + // return "centr\xE9 vertical"; + // case ALIGNTOP: + // return "en haut"; + // case ALIGNBOTTOM: + // return "en bas"; + // + // default: + // return ""; + // } + // } + + /** + * action alignement qui realise l alignements de tous les composants + */ + // public void alignComponents() { + // + // // -- recuperation de la liste des widgets selectionnees --// + // + // Set<EbliNode> listeNode = (Set<EbliNode>) scene_.getSelectedObjects();// + // scene_ + // // . + // // getNodes + // // ( + // // ) + // // ; + // + // // -- parcours des nodes + // for (Iterator<EbliNode> it = listeNode.iterator(); it.hasNext();) { + // + // EbliNode currentNode = it.next(); + // if (currentNode != null && currentNode.isMovable()) { + // + // // -- deplacement que si la widget est selectionnee --// + // if (currentNode.getCreator().getWidget().getState().isSelected()) { + // + // // -- enregistrement de la previous position --// + // Point previousLocation = currentNode.getPreferedLocation(); + // + // // -- calcul de la nouvelle position du node en fonction de + // // l alignement choisi --// + // Point newLocation = + // calculeNewLocation(currentNode.getCreator().getWidget().getLocation(), + // currentNode + // .getCreator().getWidget().getBounds(), scene_.getView().getSize()); + // + // // -- tentative de modification de la position du node --// + // currentNode.setPreferedLocation(newLocation); + // + // currentNode.getCreator().getWidget().revalidate(); + // currentNode.getCreator().getWidget().repaint(); + // + // // -- enregistrement de la commande undo redo --// + // + // // --creation d une commande undo redo --// + // CommandMove cmd = new CommandMove(currentNode.getCreator().getWidget(), + // previousLocation, newLocation); + // + // // -- ajout de la commande undo redo --// + // if (cmd_ != null) + // cmd_.addCmd(cmd); + // + // } + // } + // + // } + // // -- rafraichissement de la scene --// + // scene_.refresh(); + // + // } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-08-11 21:32:40
|
Revision: 3769 http://fudaa.svn.sourceforge.net/fudaa/?rev=3769&view=rev Author: deniger Date: 2008-08-11 21:32:37 +0000 (Mon, 11 Aug 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 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-11 21:30:31 UTC (rev 3768) +++ branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-11 21:32:37 UTC (rev 3769) @@ -12,13 +12,9 @@ import java.awt.Dimension; import java.awt.Point; import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import javax.swing.AbstractAction; import javax.swing.Box; -import javax.swing.JButton; import javax.swing.JFrame; -import javax.swing.JInternalFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JScrollPane; @@ -28,13 +24,14 @@ import javax.swing.WindowConstants; import javax.swing.table.DefaultTableModel; +import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluUIDefault; import org.fudaa.ctulu.gui.CtuluLibSwing; import org.fudaa.ctulu.iterator.LogarithmicNumberIterator; import org.fudaa.ebli.calque.BVueCalque; import org.fudaa.ebli.calque.ZCalqueLigneBrisee; import org.fudaa.ebli.calque.ZEbliCalquesPanel; -import org.fudaa.ebli.calque.edition.ZCalqueLigneBriseeEditable; +import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.ebli.courbe.EGAxeHorizontal; import org.fudaa.ebli.courbe.EGAxeVertical; import org.fudaa.ebli.courbe.EGCourbeChild; @@ -43,10 +40,8 @@ import org.fudaa.ebli.courbe.EGGraphe; import org.fudaa.ebli.courbe.EGGrapheTreeModel; import org.fudaa.ebli.courbe.EGGroup; -import org.fudaa.ebli.courbe.EGTableGraphePanel; import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; -import org.fudaa.ebli.visuallibrary.EbliNode; import org.fudaa.ebli.visuallibrary.EbliNodeDefault; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.EbliWidgetCreatorDblFleche; @@ -66,12 +61,12 @@ import org.fudaa.ebli.visuallibrary.tree.EbliWidgetJXTreeModel; import org.netbeans.api.visual.action.ActionFactory; import org.netbeans.api.visual.border.BorderFactory; -import org.netbeans.api.visual.laf.LookFeel; import org.netbeans.api.visual.model.ObjectState; import org.netbeans.api.visual.widget.ComponentWidget; import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuPanel; +import com.memoire.bu.BuResource; import com.memoire.bu.BuScrollPane; /** @@ -194,6 +189,7 @@ // -- creation de la vue calque final TestModelLigneBrisee m = TestModelLigneBrisee.buildDefault(); ZCalqueLigneBrisee br = new ZCalqueLigneBrisee(m); + br.setTitle("test"); br.setLineModel(0, new TraceLigneModel(TraceLigne.LISSE, 5, Color.RED)); BVueCalque vueC = new BVueCalque(br); vueC.setSize(new Dimension(200, 200)); @@ -330,12 +326,29 @@ JToolBar bar = new JToolBar(); f.add(bar, BorderLayout.PAGE_START); - bar.add(new EbliWidgetActionAlign.Left(scene, scene.getCmdMng())); - bar.add(new EbliWidgetActionAlign.Right(scene, scene.getCmdMng())); - bar.add(new EbliWidgetActionAlign.Middle(scene, scene.getCmdMng())); - bar.add(new EbliWidgetActionAlign.Center(scene, scene.getCmdMng())); - bar.add(new EbliWidgetActionAlign.Top(scene, scene.getCmdMng())); - bar.add(new EbliWidgetActionAlign.Bottom(scene, scene.getCmdMng())); + // om met en place le undo/redo + scene.setCmdMng(new CtuluCommandManager()); + bar.add(new EbliActionSimple("undo", BuResource.BU.getToolIcon("defaire"), "UNDO") { + @Override + public void actionPerformed(ActionEvent _e) { + if (scene.getCmdMng().canUndo()) + scene.getCmdMng().undo(); + } + }); + bar.add(new EbliActionSimple("redo", BuResource.BU.getToolIcon("refaire"), "REDO") { + @Override + public void actionPerformed(ActionEvent _e) { + if (scene.getCmdMng().canRedo()) + scene.getCmdMng().redo(); + } + }); + bar.addSeparator(); + bar.add(new EbliWidgetActionAlign.Left(scene)); + bar.add(new EbliWidgetActionAlign.Right(scene)); + bar.add(new EbliWidgetActionAlign.Middle(scene)); + bar.add(new EbliWidgetActionAlign.Center(scene)); + bar.add(new EbliWidgetActionAlign.Top(scene)); + bar.add(new EbliWidgetActionAlign.Bottom(scene)); bar = new JToolBar(); f.add(bar, BorderLayout.PAGE_END); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-08-11 21:30:34
|
Revision: 3768 http://fudaa.svn.sourceforge.net/fudaa/?rev=3768&view=rev Author: deniger Date: 2008-08-11 21:30:31 +0000 (Mon, 11 Aug 2008) Log Message: ----------- Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionUndoRedo.java Deleted: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionUndoRedo.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionUndoRedo.java 2008-08-11 21:06:57 UTC (rev 3767) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionUndoRedo.java 2008-08-11 21:30:31 UTC (rev 3768) @@ -1,43 +0,0 @@ -package org.fudaa.ebli.visuallibrary.actions; - -import java.awt.Point; - -import org.fudaa.ctulu.CtuluCommand; - -import org.fudaa.ebli.visuallibrary.EbliWidget; - -/** - * classe qui permet de faire du undo redo de positions d une widget - * @author genesis - * - */ -public class EbliWidgetActionUndoRedo implements CtuluCommand{ - - EbliWidget widget_; - Point oldPos_; - Point newPos_; - - - - public EbliWidgetActionUndoRedo(Point newPos_, Point oldPos_, - EbliWidget widget_) { - super(); - this.newPos_ = newPos_; - this.oldPos_ = oldPos_; - this.widget_ = widget_; - } - - - public void redo() { - // TODO Auto-generated method stub - widget_.setPreferredLocation(newPos_); - widget_.getScene_().refresh(); - } - - public void undo() { - // TODO Auto-generated method stub - widget_.setPreferredLocation(oldPos_); - widget_.getScene_().refresh(); - } - -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-08-11 21:07:11
|
Revision: 3767 http://fudaa.svn.sourceforge.net/fudaa/?rev=3767&view=rev Author: deniger Date: 2008-08-11 21:06:57 +0000 (Mon, 11 Aug 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/fudaa_en.fr_txt Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/aobottom.png branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/aocenterh.png branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/aocenterv.png branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/aoleft.png branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/aoright.png branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/aotallest.png branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/aotop.png branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/aowidest.png Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/fudaa_en.fr_txt =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/fudaa_en.fr_txt 2008-08-11 21:04:55 UTC (rev 3766) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/ressource/fudaa_en.fr_txt 2008-08-11 21:06:57 UTC (rev 3767) @@ -10,13 +10,7 @@ Param\xE8tres du mod\xE8le=Model parameters et propri\xE9t\xE9s graphiques=and graphic properties propri\xE9t\xE9s graphiques uniquement=graphic properties only -En haut=Top -En haut=Bottom -Alignement \xE0 gauche=Left alignment -Alignement \xE0 droite=Right alignment -Centrer horizontalement=Center horizontally -Centrer verticalement=Center vertically -Annuler les transformations=Clear transformations +mations=Clear transformations Modifier le titre de la fen\xEAtre=Modify the frame's title Cliquer 2 fois sur la liste pour modifier le titre d'une fen\xEAtre correspondante=Please, double click on the list to edit the title of the selected frame Cr\xE9er un=Create a This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2008-08-11 21:05:07
|
Revision: 3766 http://fudaa.svn.sourceforge.net/fudaa/?rev=3766&view=rev Author: deniger Date: 2008-08-11 21:04:55 +0000 (Mon, 11 Aug 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 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-11 21:02:53 UTC (rev 3765) +++ branches/Prepro-0.92-SNAPSHOT/ebli/test/org/fudaa/ebli/all/TestGraphe2.java 2008-08-11 21:04:55 UTC (rev 3766) @@ -174,7 +174,6 @@ tree.setCellEditor(new EbliCheckBoxNodeEditor(tree)); tree.setEditable(true); - // -- creation d un noeud Graphe --// final EbliNodeDefault nodeG = new EbliNodeDefault(); nodeG.setCreator(new EbliWidgetCreatorGraphe(g)); @@ -202,13 +201,13 @@ nodeCalque.setTitle("Vue Calque"); nodeCalque.setPreferedSize(new Dimension(400, 200)); nodeCalque.setPreferedLocation(new Point(250, 170)); -// JFrame fr = new JFrame(); + // JFrame fr = new JFrame(); ZEbliCalquesPanel ebliCalquesPanel = new ZEbliCalquesPanel(br, new CtuluUIDefault()); -// fr.setContentPane(ebliCalquesPanel); -// ebliCalquesPanel.setPreferredSize(new Dimension(400, 400)); -// fr.setPreferredSize(new Dimension(400, 400)); -// fr.setVisible(true); + // fr.setContentPane(ebliCalquesPanel); + // ebliCalquesPanel.setPreferredSize(new Dimension(400, 400)); + // fr.setPreferredSize(new Dimension(400, 400)); + // fr.setVisible(true); nodeCalque.setCreator(new EbliWidgetCreatorVueCalque(ebliCalquesPanel)); scene.addNode(nodeCalque); // scene.addChild(new ComponentWidget(scene, @@ -218,11 +217,9 @@ final EbliNodeDefault nodeRect = new EbliNodeDefault(); nodeRect.setTitle("Rectangle"); nodeRect.setCreator(new EbliWidgetCreatorRectangle("Test recangle")); - nodeRect.setPreferedSize(new Dimension(200, 100)); + nodeRect.setPreferedSize(new Dimension(200, 100)); nodeRect.setPreferedLocation(new Point(350, 125)); scene.addNode(nodeRect); - - // -- ajout du fleche double sens diagonale--// node = new EbliNodeDefault(); @@ -248,13 +245,9 @@ nodeFleche.setPreferedLocation(new Point(250, 525)); scene.addNode(nodeFleche); - - - // node.getCreator().getWidget().setState(state) - //if(node.getCreator().getWidget().) - - - + // node.getCreator().getWidget().setState(state) + // if(node.getCreator().getWidget().) + // WidgetLegendeManagerOLD.createWidgetLegendeGraphe(this, visu, courbe, // graphe.getClientArea()); @@ -304,9 +297,9 @@ boxEast.add(new BuScrollPane(t)); p.add(new JScrollPane(boxEast), BuBorderLayout.EAST); f.setLayout(new BorderLayout()); - - //f.setContentPane(p); - f.add(p,BorderLayout.CENTER); + + // f.setContentPane(p); + f.add(p, BorderLayout.CENTER); // fin p.add(new JScrollPane(scene.createView()), BuBorderLayout.CENTER); @@ -335,31 +328,28 @@ * scene.addNode(node); */ -JToolBar bar =new JToolBar(); -f.add(bar,BorderLayout.PAGE_START); -bar.add(new EbliWidgetActionAlign(scene, EbliWidgetActionAlign.ALIGNLEFT)); -bar.add(new EbliWidgetActionAlign(scene, EbliWidgetActionAlign.ALIGNRIGHT)); -bar.add(new EbliWidgetActionAlign(scene, EbliWidgetActionAlign.ALIGNCENTERHORIZONTAL)); -bar.add(new EbliWidgetActionAlign(scene, EbliWidgetActionAlign.ALIGNCENTERVERTICAL)); -bar.add(new EbliWidgetActionAlign(scene, EbliWidgetActionAlign.ALIGNTOP)); -bar.add(new EbliWidgetActionAlign(scene, EbliWidgetActionAlign.ALIGNBOTTOM)); - -bar =new JToolBar(); -f.add(bar,BorderLayout.PAGE_END); + JToolBar bar = new JToolBar(); + f.add(bar, BorderLayout.PAGE_START); + bar.add(new EbliWidgetActionAlign.Left(scene, scene.getCmdMng())); + bar.add(new EbliWidgetActionAlign.Right(scene, scene.getCmdMng())); + bar.add(new EbliWidgetActionAlign.Middle(scene, scene.getCmdMng())); + bar.add(new EbliWidgetActionAlign.Center(scene, scene.getCmdMng())); + bar.add(new EbliWidgetActionAlign.Top(scene, scene.getCmdMng())); + bar.add(new EbliWidgetActionAlign.Bottom(scene, scene.getCmdMng())); -bar.add(new EbliWidgetActionDuplicate(scene)); + bar = new JToolBar(); + f.add(bar, BorderLayout.PAGE_END); + bar.add(new EbliWidgetActionDuplicate(scene)); -bar.add(new EbliWidgetActionForeGround(scene)); + bar.add(new EbliWidgetActionForeGround(scene)); -bar.add(new EbliWidgetActionBackGround(scene)); + bar.add(new EbliWidgetActionBackGround(scene)); -/* -JFrame frame2=new JFrame(); -frame2.getContentPane().add(new EGFillePanel(g)); -frame2.setSize(500,500); -frame2.setVisible(true); -*/ -p.doLayout(); + /* + * JFrame frame2=new JFrame(); frame2.getContentPane().add(new + * EGFillePanel(g)); frame2.setSize(500,500); frame2.setVisible(true); + */ + p.doLayout(); } } \ 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-11 21:02:59
|
Revision: 3765 http://fudaa.svn.sourceforge.net/fudaa/?rev=3765&view=rev Author: deniger Date: 2008-08-11 21:02:53 +0000 (Mon, 11 Aug 2008) Log Message: ----------- maj pour les actions Modified Paths: -------------- 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 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-11 21:00:25 UTC (rev 3764) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliScene.java 2008-08-11 21:02:53 UTC (rev 3765) @@ -10,11 +10,13 @@ import javax.swing.JMenuItem; import javax.swing.JPopupMenu; +import org.fudaa.ctulu.CtuluCommandManager; import org.netbeans.api.visual.action.ActionFactory; import org.netbeans.api.visual.action.PopupMenuProvider; 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; /** @@ -24,21 +26,27 @@ * */ public class EbliScene extends GraphScene<EbliNode, EbliEdge> { + + public static void refreshScene(Scene _sc) { + _sc.validate(); + _sc.repaint(); + if (_sc.getView() != null) + _sc.getView().repaint(); + } + /** + * Le gestionnaire de commande associe \xE0 la scene + */ + CtuluCommandManager cmdMng_; + + /** * la visu du graphscene */ private LayerWidget visu_; - public LayerWidget getVisu_() { - return visu_; -} + private LayerWidget interactionLayer_; -public void setVisu_(LayerWidget visu_) { - this.visu_ = visu_; -} - -private LayerWidget interactionLayer_; final private WidgetAction alignWithMoveAction; /** @@ -55,7 +63,7 @@ interactionLayer_ = new LayerWidget(this); addChild(interactionLayer_); alignWithMoveAction = ActionFactory.createAlignWithMoveAction(visu_, interactionLayer_, ActionFactory - .createDefaultAlignWithMoveDecorator(),false); + .createDefaultAlignWithMoveDecorator(), false); // -- ajoute l'action du zoom ( ctrl + clic) getActions().addAction(ActionFactory.createZoomAction(1.1, true)); @@ -64,7 +72,6 @@ setMenuBase(); } - /** * Methode qui permet d ajouter un listener * @@ -112,29 +119,36 @@ return res; } - - + /** - * 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 + * 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. * - * Surcharge pour faire appel au notify des listener et ainsi mettre ajour les listener + * @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 */ - protected void detachNodeWidget (EbliNode node, Widget widget) { - //-- indique la suppresion du node chez le parent - notifyAllListenerNodeRemoved(node); - - if (widget != null) - widget.removeFromParent (); - - + protected void detachNodeWidget(EbliNode node, Widget widget) { + // -- indique la suppresion du node chez le parent + notifyAllListenerNodeRemoved(node); + + if (widget != null) + widget.removeFromParent(); + } - - - + /** + * @return the cmdMng + */ + public CtuluCommandManager getCmdMng() { + return cmdMng_; + } + public LayerWidget getLayerVisu() { return visu_; } @@ -143,6 +157,10 @@ return alignWithMoveAction; } + public LayerWidget getVisu_() { + return visu_; + } + /** * Methode qui permet d envoyer le signal du node ajout\xE9 a tous les listener * @@ -179,6 +197,20 @@ notifyAllListenerNodeAdded(node); } + /** + * Methode qui permet de raffraichir les elements de la scene + */ + public void refresh() { + refreshScene(this); + } + + /** + * @param _cmdMng the cmdMng to set + */ + public void setCmdMng(CtuluCommandManager _cmdMng) { + cmdMng_ = _cmdMng; + } + public void setMenuBase() { getActions().addAction(ActionFactory.createPopupMenuAction(new PopupMenuProvider() { public JPopupMenu getPopupMenu(Widget widget, Point localLocation) { @@ -220,15 +252,8 @@ })); } - - /** - * Methode qui permet de raffraichir les elements de la scene - */ - public void refresh(){ - this.validate(); - this.repaint(); - getView().repaint(); - + 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-11 21:00:25 UTC (rev 3764) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidget.java 2008-08-11 21:02:53 UTC (rev 3765) @@ -1,6 +1,5 @@ package org.fudaa.ebli.visuallibrary; -import java.awt.Color; import java.awt.Point; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -11,12 +10,7 @@ import org.fudaa.ctulu.CtuluResource; import org.netbeans.api.visual.action.ActionFactory; import org.netbeans.api.visual.action.PopupMenuProvider; -import org.netbeans.api.visual.border.Border; -import org.netbeans.api.visual.border.BorderFactory; -import org.netbeans.api.visual.laf.LookFeel; -import org.netbeans.api.visual.layout.LayoutFactory; import org.netbeans.api.visual.model.ObjectState; -import org.netbeans.api.visual.widget.Scene; import org.netbeans.api.visual.widget.Widget; /** @@ -28,33 +22,30 @@ public class EbliWidget extends Widget { private EbliScene scene_; - public EbliScene getScene_() { - return scene_; -} + + private boolean useBorder_ = true; -private boolean useBorder_ = true; +/** + * @param scene + * @param Point + * : indiaue la location preferentiel. peut etre nul + */ +public EbliWidget(EbliScene scene) { + super(scene); + setScene_(scene); + getActions().addAction(scene.createSelectAction()); + getActions().addAction(ActionFactory.createResizeAction()); + getActions().addAction(scene.createWidgetHoverAction()); + getActions().addAction(scene.getMoveAction()); - /** - * @param scene - * @param Point - * : indiaue la location preferentiel. peut etre nul - */ - public EbliWidget(EbliScene scene) { - super(scene); - setScene_(scene); - getActions().addAction(scene.createSelectAction()); - getActions().addAction(ActionFactory.createResizeAction()); - getActions().addAction(scene.createWidgetHoverAction()); - getActions().addAction(scene.getMoveAction()); + // positionnement de la widget si precise + // if(preferredLocation!=null) + // setPreferredLocation(preferredLocation); - // positionnement de la widget si precise - // if(preferredLocation!=null) - // setPreferredLocation(preferredLocation); + // menu clic droit basique (fermeture, duplication) + setMenu(); +} - // menu clic droit basique (fermeture, duplication) - setMenu(); - } - /** * Methode de construction des menus de base * @@ -122,6 +113,18 @@ }); } + /** + * methode qui construit une widget duplication pqr default, doit etre surchargee pour reproduire l' evenement + * @return + */ + public EbliNode duplicate(){ + EbliNode duplique =null; + + + return duplique; + } + + public EbliScene getEbliScene() { return scene_; } @@ -164,17 +167,6 @@ public void setUseBorder(boolean _useBorder) { useBorder_ = _useBorder; } - - /** - * methode qui construit une widget duplication pqr default, doit etre surchargee pour reproduire l' evenement - * @return - */ - public EbliNode duplicate(){ - EbliNode duplique =null; - - - return duplique; - } } \ 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-11 21:00:43
|
Revision: 3764 http://fudaa.svn.sourceforge.net/fudaa/?rev=3764&view=rev Author: deniger Date: 2008-08-11 21:00:25 +0000 (Mon, 11 Aug 2008) Log Message: ----------- maj des icones et des textes pour les alignements Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/ebli_en.fr_txt Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aobottom.png branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aocenterh.png branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aocenterv.png branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aoleft.png branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aoright.png branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aotallest.png branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aotop.png branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aowidest.png Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aobottom.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aocenterh.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aocenterv.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aoleft.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aoright.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aotallest.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aotop.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/aowidest.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/ebli_en.fr_txt =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/ebli_en.fr_txt 2008-08-11 20:41:04 UTC (rev 3763) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/ressource/ebli_en.fr_txt 2008-08-11 21:00:25 UTC (rev 3764) @@ -1,3 +1,10 @@ +Alignement \xE0 gauche=Left alignment +Alignement \xE0 droite=Right alignment +Centrer horizontalement=Center horizontally +Centrer verticalement=Center vertically +En haut=Top +En haut=Bottom +Annuler les transfor Police \xE9chelle=Scale Font Enregistrer et ecraser=Save and replace the old file Ne pas Enregistrer=Do not save This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <opa...@us...> - 2008-08-11 20:41:11
|
Revision: 3763 http://fudaa.svn.sourceforge.net/fudaa/?rev=3763&view=rev Author: opasteur Date: 2008-08-11 20:41:04 +0000 (Mon, 11 Aug 2008) Log Message: ----------- Modified Paths: -------------- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/PanneauGraphesResultats.java Modified: trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/PanneauGraphesResultats.java =================================================================== --- trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/PanneauGraphesResultats.java 2008-08-11 18:57:07 UTC (rev 3762) +++ trunk/fudaa_devel/fudaa/src/org/fudaa/fudaa/hydraulique1d/editor/PanneauGraphesResultats.java 2008-08-11 20:41:04 UTC (rev 3763) @@ -4,9 +4,10 @@ import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.util.*; +import java.util.ArrayList; +import java.util.StringTokenizer; +import java.util.Vector; -import javax.swing.DefaultListSelectionModel; import javax.swing.JOptionPane; import javax.swing.JSplitPane; import javax.swing.ListModel; @@ -457,6 +458,7 @@ protected void visualiser(boolean calculBorne) { int[] index= getIndexElementsSelectionnes(); //System.err.println("Mode "+mode_); + MetierResultatsTemporelSpatialBief[] res = new MetierResultatsTemporelSpatialBief[index.length]; for (int i = 0; i < index.length; i++) { @@ -465,6 +467,25 @@ int[] indicesVar= lstVar_.getSelectedIndices(); int[] indicesPasTpsSection= lstPasTpsSection_.getSelectedIndices(); + /*System.err.print("index :"); + for (int i = 0; i < index.length; i++) { + System.err.print(index[i]+" "); + } + + System.err.println("\nres :"); + for (int i = 0; i < res.length; i++) { + System.err.print(res[i].toString()+" "); + } + + System.err.print("\nindicesVar :"); + for (int i = 0; i < indicesVar.length; i++) { + System.err.print(indicesVar[i]+" "); + } System.err.print(" finindicesVar"); + + System.err.println("\nindicesPasTpsSection :"); + for (int i = 0; i < indicesPasTpsSection.length; i++) { + System.err.print(indicesPasTpsSection[i]+" "); + }*/ // Avertissements String message =""; if (index.length==0) message +="Veuillez selectionner au moins un bief, un casier ou une liaison !\n"; @@ -665,16 +686,29 @@ // les ordonn\xE9es double[][][] vals= resCasiersLiasons[0].valeursVariables(); - for (int n = 0; n < resCasiersLiasons.length; n++) { + for (int i= 0; i < nbPasTemps; i++) { int indiceCourbe= 1; + for (int n = 0; n < resCasiersLiasons.length; n++) { for (int j= 0; j < indicesVar.length; j++) { vals= resCasiersLiasons[n].valeursVariables(); - res[indiceCourbe][i]= vals[indicesVar[j]][i][0]; + + res[indiceCourbe][i]= vals[indicesVar[j]-1][i][0]; indiceCourbe++; } } } + + + /*System.err.println("\nres :"); + for (int u = 0; u < res.length; u++) { + for (int v = 0; v < res[u].length; v++) { + System.err.print(res[u][v]+" "); + } + System.err.println(""); + + }*/ + return res; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2008-08-11 18:57:09
|
Revision: 3762 http://fudaa.svn.sourceforge.net/fudaa/?rev=3762&view=rev Author: hadouxad Date: 2008-08-11 18:57:07 +0000 (Mon, 11 Aug 2008) Log Message: ----------- Mie a jour de la journ?\195?\169e: - duplication - alignement + gestion des commandes undo redo - creation d une classe implementant ctulucommande pour gerer les undio redo de positions de widget - gestion des icones pour le tree - gestion des editeur pour le graphe - gestion des editeur pour le calque ainsi que le tree calque Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionUndoRedo.java Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionUndoRedo.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionUndoRedo.java 2008-08-11 18:47:40 UTC (rev 3761) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionUndoRedo.java 2008-08-11 18:57:07 UTC (rev 3762) @@ -31,11 +31,13 @@ public void redo() { // TODO Auto-generated method stub widget_.setPreferredLocation(newPos_); + widget_.getScene_().refresh(); } public void undo() { // TODO Auto-generated method stub widget_.setPreferredLocation(oldPos_); + widget_.getScene_().refresh(); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <had...@us...> - 2008-08-11 18:47:42
|
Revision: 3761 http://fudaa.svn.sourceforge.net/fudaa/?rev=3761&view=rev Author: hadouxad Date: 2008-08-11 18:47:40 +0000 (Mon, 11 Aug 2008) Log Message: ----------- Mie a jour de la journ?\195?\169e: - duplication - alignement + gestion des commandes undo redo - creation d une classe implementant ctulucommande pour gerer les undio redo de positions de widget - gestion des icones pour le tree - gestion des editeur pour le graphe - gestion des editeur pour le calque ainsi que le tree calque Modified Paths: -------------- 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/EbliWidgetActionAlign.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionForeGround.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/src/org/fudaa/ebli/visuallibrary/tree/EbliCheckBoxNodeEditor.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliCheckBoxTreeRenderer.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionUndoRedo.java 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-11 14:17:51 UTC (rev 3760) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/EbliWidgetRectangle.java 2008-08-11 18:47:40 UTC (rev 3761) @@ -7,7 +7,7 @@ import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.visuallibrary.layout.OverlayLayoutGap; import org.netbeans.api.visual.action.ActionFactory; -import org.netbeans.api.visual.action.InplaceEditorProvider; + import org.netbeans.api.visual.action.TextFieldInplaceEditor; import org.netbeans.api.visual.action.WidgetAction; import org.netbeans.api.visual.widget.LabelWidget; Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java 2008-08-11 14:17:51 UTC (rev 3760) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionAlign.java 2008-08-11 18:47:40 UTC (rev 3761) @@ -12,164 +12,178 @@ import javax.swing.AbstractAction; +import org.fudaa.ctulu.CtuluCommand; +import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ebli.visuallibrary.EbliNode; import org.fudaa.ebli.visuallibrary.EbliNodeDefault; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.graphe.EbliWidgetCreatorGraphe; +import org.netbeans.api.visual.widget.Widget; /** * Action qui permet de realiser l alignement des composants. * - * - *ATTTENTION CHOIX DE CONCEPTION: - *il faut que les EbliNode soit movables (isMovable()== true) - * pour pouvoir les aligner - * il faut donc lorss de la creation des nodes remplir les infos dimensions et size comme suit: * - * EbliNodeDefault node = new EbliNodeDefault(); - * node.setCreator(new EbliWidgetCreatorGraphe(g)); - * node.setTitle("Graphe"); - * node.setPreferedSize(new Dimension(300, 300)); - * node.setPreferedLocation(new Point(4, 4)); - * scene.addNode(node); - * + *ATTTENTION CHOIX DE CONCEPTION: il faut que les EbliNode soit movables + * (isMovable()== true) pour pouvoir les aligner il faut donc lorss de la + * creation des nodes remplir les infos dimensions et size comme suit: + * + * EbliNodeDefault node = new EbliNodeDefault(); node.setCreator(new + * EbliWidgetCreatorGraphe(g)); node.setTitle("Graphe"); + * node.setPreferedSize(new Dimension(300, 300)); node.setPreferedLocation(new + * Point(4, 4)); scene.addNode(node); + * *@author Adrien Hadoux - * + * */ -public class EbliWidgetActionAlign extends AbstractAction { +public class EbliWidgetActionAlign extends AbstractAction { /** * */ private static final long serialVersionUID = 1L; EbliScene scene_; - public final static int ALIGNLEFT=0; - public final static int ALIGNRIGHT=1; - public final static int ALIGNCENTERHORIZONTAL=2; - public final static int ALIGNCENTERVERTICAL=3; - public final static int ALIGNTOP=4; - public final static int ALIGNBOTTOM=5; + public final static int ALIGNLEFT = 0; + public final static int ALIGNRIGHT = 1; + public final static int ALIGNCENTERHORIZONTAL = 2; + public final static int ALIGNCENTERVERTICAL = 3; + public final static int ALIGNTOP = 4; + public final static int ALIGNBOTTOM = 5; int typeAlignement_; + + + CtuluCommandManager cmd_=new CtuluCommandManager() ; - //liste des positions precedentes pour chaque widgets - List<Point> listPreviousPositions_; - public EbliWidgetActionAlign(EbliScene _scene, int _typeAlignement) { super(); // TODO Auto-generated constructor stub - scene_=_scene; - typeAlignement_=_typeAlignement; - //-- renseignements des infos complementaires --// - putValue(NAME,"Alignement "+traduct(_typeAlignement)); + scene_ = _scene; + typeAlignement_ = _typeAlignement; + // -- renseignements des infos complementaires --// + putValue(NAME, "Alignement " + traduct(_typeAlignement)); - } public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub alignComponents(); + + } + /** - * methode qui recalcule la nouvelle position par rapport a la scene et a l alignement choisiT. + * methode qui recalcule la nouvelle position par rapport a la scene et a l + * alignement choisiT. */ - private Point calculeNewLocation(Point _previousLocation,Dimension _dimensionWidget,Dimension _dimensionScene){ + + private Point calculeNewLocation(Point _previousLocation, + Rectangle _dimensionWidget, Dimension _dimensionScene) { + switch (typeAlignement_) { + case ALIGNLEFT: + return new Point(0, _previousLocation.y); + case ALIGNRIGHT: + return new Point(_dimensionScene.width - _dimensionWidget.width, + _previousLocation.y); + case ALIGNCENTERHORIZONTAL: + return new Point(_dimensionScene.width / 2 - _dimensionWidget.width + / 2, _previousLocation.y); + case ALIGNCENTERVERTICAL: + return new Point(_previousLocation.x, _dimensionScene.height / 2 + - _dimensionWidget.height / 2); + case ALIGNTOP: + return new Point(_previousLocation.x, 0); + case ALIGNBOTTOM: + return new Point(_previousLocation.x, _dimensionScene.height + - _dimensionWidget.height); - switch(typeAlignement_){ - case ALIGNLEFT: return new Point(0,_previousLocation.y); - case ALIGNRIGHT: return new Point(_dimensionScene.width-_dimensionWidget.width,_previousLocation.y); - case ALIGNCENTERHORIZONTAL: return new Point(_dimensionScene.width/2 -_dimensionWidget.width/2 ,_previousLocation.y); - case ALIGNCENTERVERTICAL: return new Point(_previousLocation.x,_dimensionScene.height/2 -_dimensionWidget.height/2); - case ALIGNTOP: return new Point(_previousLocation.x,0); - case ALIGNBOTTOM: return new Point(_previousLocation.x,_dimensionScene.height-_dimensionWidget.height); - - - default: return _previousLocation; + default: + return _previousLocation; } - } - private Point calculeNewLocation(Point _previousLocation,Rectangle _dimensionWidget,Dimension _dimensionScene){ + private String traduct(int _align) { + switch (typeAlignement_) { + case ALIGNLEFT: + return "\xE0 gauche"; + case ALIGNRIGHT: + return "\xE0 droite"; + case ALIGNCENTERHORIZONTAL: + return "centr\xE9 horizontal"; + case ALIGNCENTERVERTICAL: + return "centr\xE9 vertical"; + case ALIGNTOP: + return "en haut"; + case ALIGNBOTTOM: + return "en bas"; - - switch(typeAlignement_){ - case ALIGNLEFT: return new Point(0,_previousLocation.y); - case ALIGNRIGHT: return new Point(_dimensionScene.width-_dimensionWidget.width,_previousLocation.y); - case ALIGNCENTERHORIZONTAL: return new Point(_dimensionScene.width/2 -_dimensionWidget.width/2 ,_previousLocation.y); - case ALIGNCENTERVERTICAL: return new Point(_previousLocation.x,_dimensionScene.height/2 -_dimensionWidget.height/2); - case ALIGNTOP: return new Point(_previousLocation.x,0); - case ALIGNBOTTOM: return new Point(_previousLocation.x,_dimensionScene.height-_dimensionWidget.height); - - - default: return _previousLocation; + default: + return ""; } - - } - - private String traduct(int _align){ - switch(typeAlignement_){ - case ALIGNLEFT: return "\xE0 gauche"; - case ALIGNRIGHT: return "\xE0 droite"; - case ALIGNCENTERHORIZONTAL: return "centr\xE9 horizontal"; - case ALIGNCENTERVERTICAL: return "centr\xE9 vertical"; - case ALIGNTOP: return "en haut"; - case ALIGNBOTTOM: return "en bas"; - - - default: return ""; - } - } - /** * action alignement qui realise l alignements de tous les composants */ - public void alignComponents(){ + public void alignComponents() { - //-- reinitialisation de la liste des historique des positions --// - listPreviousPositions_=new ArrayList<Point>(); - - //-- recuperation de la liste des widgets selectionnees --// - Set<EbliNode> listeNode = (Set<EbliNode>) scene_.getSelectedObjects();//scene_.getNodes(); - //-- parcours des nodes - for(Iterator<EbliNode> it=listeNode.iterator();it.hasNext();){ + // -- recuperation de la liste des widgets selectionnees --// - EbliNode currentNode=it.next(); - if(currentNode!=null && currentNode.isMovable()){ + Set<EbliNode> listeNode = (Set<EbliNode>) scene_.getSelectedObjects();// scene_ + // . + // getNodes + // ( + // ) + // ; - //-- deplacement que si la widget est selectionnee --// - if(currentNode.getCreator().getWidget().getState().isSelected()){ + // -- parcours des nodes + for (Iterator<EbliNode> it = listeNode.iterator(); it.hasNext();) { - //-- enregistrement de la previous position --// - listPreviousPositions_.add(currentNode.getPreferedLocation()); + EbliNode currentNode = it.next(); + if (currentNode != null && currentNode.isMovable()) { - //-- calcul de la nouvelle position du node en fonction de l alignement choisi --// - Point newLocation=calculeNewLocation(currentNode.getCreator().getWidget().getLocation(), currentNode.getCreator().getWidget().getBounds(),scene_.getView().getSize()); + // -- deplacement que si la widget est selectionnee --// + if (currentNode.getCreator().getWidget().getState() + .isSelected()) { - //-- tentative de modification de la position du node --// + // -- enregistrement de la previous position --// + Point previousLocation=currentNode.getPreferedLocation(); + + // -- calcul de la nouvelle position du node en fonction de + // l alignement choisi --// + Point newLocation = calculeNewLocation(currentNode + .getCreator().getWidget().getLocation(), + currentNode.getCreator().getWidget().getBounds(), + scene_.getView().getSize()); + + // -- tentative de modification de la position du node --// currentNode.setPreferedLocation(newLocation); currentNode.getCreator().getWidget().revalidate(); currentNode.getCreator().getWidget().repaint(); + + //-- enregistrement de la commande undo redo --// + + //--creation d une commande undo redo --// + EbliWidgetActionUndoRedo cmd=new EbliWidgetActionUndoRedo(newLocation,previousLocation,currentNode.getCreator().getWidget()); + + //-- ajout de la commande undo redo --// + if (cmd_ != null) + cmd_.addCmd(cmd); } } } - //-- rafraichissement de la scene --// + // -- rafraichissement de la scene --// scene_.refresh(); - } - - - } Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionForeGround.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionForeGround.java 2008-08-11 14:17:51 UTC (rev 3760) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionForeGround.java 2008-08-11 18:47:40 UTC (rev 3761) @@ -39,7 +39,7 @@ EbliNode currentNode=it.next(); if(currentNode!=null && currentNode.isMovable()){ - //-- deplacement au premier plan que si la widget est selectionnee --// + //-- deplacement au premier plan que si la widget est selectionnee if(currentNode.getCreator().getWidget().getState().isSelected()){ //-- ajout au premier plan du node --// Added: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionUndoRedo.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionUndoRedo.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/actions/EbliWidgetActionUndoRedo.java 2008-08-11 18:47:40 UTC (rev 3761) @@ -0,0 +1,41 @@ +package org.fudaa.ebli.visuallibrary.actions; + +import java.awt.Point; + +import org.fudaa.ctulu.CtuluCommand; + +import org.fudaa.ebli.visuallibrary.EbliWidget; + +/** + * classe qui permet de faire du undo redo de positions d une widget + * @author genesis + * + */ +public class EbliWidgetActionUndoRedo implements CtuluCommand{ + + EbliWidget widget_; + Point oldPos_; + Point newPos_; + + + + public EbliWidgetActionUndoRedo(Point newPos_, Point oldPos_, + EbliWidget widget_) { + super(); + this.newPos_ = newPos_; + this.oldPos_ = oldPos_; + this.widget_ = widget_; + } + + + public void redo() { + // TODO Auto-generated method stub + widget_.setPreferredLocation(newPos_); + } + + public void undo() { + // TODO Auto-generated method stub + widget_.setPreferredLocation(oldPos_); + } + +} 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-11 14:17:51 UTC (rev 3760) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetVueCalque.java 2008-08-11 18:47:40 UTC (rev 3761) @@ -1,5 +1,6 @@ package org.fudaa.ebli.visuallibrary.calque; +import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Graphics2D; @@ -12,6 +13,7 @@ import javax.swing.JFrame; import javax.swing.JLabel; +import org.fudaa.ebli.calque.BArbreCalque; import org.fudaa.ebli.calque.BCalque; import org.fudaa.ebli.calque.ZEbliCalquesPanel; import org.fudaa.ebli.visuallibrary.EbliScene; @@ -21,107 +23,117 @@ import org.netbeans.api.visual.action.WidgetAction; import org.netbeans.api.visual.widget.Widget; +import sun.swing.BakedArrayList; + +import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuButton; import com.memoire.bu.BuPanel; -public class EbliWidgetVueCalque extends EbliWidget implements InplaceEditorProvider<BuPanel>{ +public class EbliWidgetVueCalque extends EbliWidget implements + InplaceEditorProvider<BuPanel> { - ZEbliCalquesPanel vue_; + ZEbliCalquesPanel vue_; - public EbliWidgetVueCalque(EbliScene scene, ZEbliCalquesPanel vue) { - super(scene); - vue_ = vue; - setPreferredSize(new Dimension(200, 200)); - setMinimumSize(new Dimension(200, 200)); - - //-- creation de l action pour editor --// - WidgetAction editorAction = ActionFactory.createInplaceEditorAction(this); + public EbliWidgetVueCalque(EbliScene scene, ZEbliCalquesPanel vue) { + super(scene); + vue_ = vue; + setPreferredSize(new Dimension(200, 200)); + setMinimumSize(new Dimension(200, 200)); - // -- ajout de l action au widget correspondant --// - this.getActions().addAction(editorAction); - - } + // -- creation de l action pour editor --// + WidgetAction editorAction = ActionFactory + .createInplaceEditorAction(this); - @Override - protected void paintWidget() { - Rectangle rec = getClientArea(); - Graphics2D g = getGraphics(); - g.translate(rec.x, rec.y); - // GrBoite b = vue_.getVueCalque().getViewBoite(); - // vue_.getVueCalque().changeRepere(this, b); - //TODO a ameliorer - BCalque[] tousCalques = vue_.getVueCalque().getCalque().getTousCalques(); - vue_.getVueCalque().setSize(rec.width, rec.height); - vue_.getVueCalque().getCalque().setSize(rec.width, rec.height); - for (int i = 0; i < tousCalques.length; i++) { - tousCalques[i].setSize(rec.width, rec.height); - } - vue_.restaurer(); - vue_.getVueCalque().paintImage(g, Collections.EMPTY_MAP); - g.translate(-rec.x, -rec.y); - } + // -- ajout de l action au widget correspondant --// + this.getActions().addAction(editorAction); - - //-- methodes implements InplaceEditorProvider --// - - /** - * Methode appeleee pour creer un editor correspondant - */ -public BuPanel createEditorComponent( - org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, - Widget widget) { - // TODO Auto-generated method stub - - - - final BuPanel panelTest=new BuPanel(new FlowLayout(FlowLayout.CENTER)); - panelTest.add(new JLabel("test panel")); - BuButton boutonTest =new BuButton("bouton cool"); - boutonTest.addActionListener(new ActionListener(){ + } - public void actionPerformed(ActionEvent e) { - // TODO Auto-generated method stub - panelTest.add(new JLabel("bouton appuy\xE9")); - panelTest.validate(); - JFrame frameTruc=new JFrame(); - frameTruc.getContentPane().add(new JLabel("bouton appuy\xE9")); - frameTruc.setSize(200,200); - frameTruc.setVisible(true); + @Override + protected void paintWidget() { + Rectangle rec = getClientArea(); + Graphics2D g = getGraphics(); + g.translate(rec.x, rec.y); + // GrBoite b = vue_.getVueCalque().getViewBoite(); + // vue_.getVueCalque().changeRepere(this, b); + // TODO a ameliorer + BCalque[] tousCalques = vue_.getVueCalque().getCalque() + .getTousCalques(); + vue_.getVueCalque().setSize(rec.width, rec.height); + vue_.getVueCalque().getCalque().setSize(rec.width, rec.height); + for (int i = 0; i < tousCalques.length; i++) { + tousCalques[i].setSize(rec.width, rec.height); } - - }); - panelTest.add(boutonTest); - - - return panelTest; -} + vue_.restaurer(); + vue_.getVueCalque().paintImage(g, Collections.EMPTY_MAP); + g.translate(-rec.x, -rec.y); + } -public EnumSet<org.netbeans.api.visual.action.InplaceEditorProvider.ExpansionDirection> getExpansionDirections( - org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, - Widget widget, BuPanel editor) { - // TODO Auto-generated method stub - return null; -} + // -- methodes implements InplaceEditorProvider --// -public Rectangle getInitialEditorComponentBounds( - org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, - Widget widget, BuPanel editor, Rectangle viewBounds) { - // TODO Auto-generated method stub - return null; -} + /** + * Methode appeleee pour creer un editor correspondant + */ + public BuPanel createEditorComponent( + org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, + Widget widget) { + // TODO Auto-generated method stub -public void notifyClosing( - org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, - Widget widget, BuPanel editor, boolean commit) { - // TODO Auto-generated method stub - -} + final BuPanel panelTest = new BuPanel(new FlowLayout(FlowLayout.CENTER)); + panelTest.add(new JLabel("test panel")); + BuButton boutonTest = new BuButton("bouton cool"); + boutonTest.addActionListener(new ActionListener() { -public void notifyOpened( - org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, - Widget widget, BuPanel editor) { - // TODO Auto-generated method stub - -} + public void actionPerformed(ActionEvent e) { + // TODO Auto-generated method stub + panelTest.add(new JLabel("bouton appuy\xE9")); + panelTest.validate(); + JFrame frameTruc = new JFrame(); + frameTruc.getContentPane().add(new JLabel("bouton appuy\xE9")); + frameTruc.setSize(200, 200); + frameTruc.setVisible(true); + } + }); + panelTest.add(boutonTest); + BuPanel res = new BuPanel(new BuBorderLayout()); + res.add(vue_); + res + .add(new BArbreCalque(vue_.getArbreCalqueModel()), + BorderLayout.EAST); + // panelTest.add(vue_); + + return /* panelTest */res; + } + + public EnumSet<org.netbeans.api.visual.action.InplaceEditorProvider.ExpansionDirection> getExpansionDirections( + org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, + Widget widget, BuPanel editor) { + // TODO Auto-generated method stub + return null; + } + + public Rectangle getInitialEditorComponentBounds( + org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, + Widget widget, BuPanel editor, Rectangle viewBounds) { + return new Rectangle(viewBounds.x, viewBounds.y, viewBounds.width + 200, + viewBounds.height); + // TODO Auto-generated method stub + //return null; + } + + public void notifyClosing( + org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, + Widget widget, BuPanel editor, boolean commit) { + // TODO Auto-generated method stub + + } + + public void notifyOpened( + org.netbeans.api.visual.action.InplaceEditorProvider.EditorController controller, + Widget widget, BuPanel editor) { + // TODO Auto-generated method stub + + } + } 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-11 14:17:51 UTC (rev 3760) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/graphe/EbliWidgetGraphe.java 2008-08-11 18:47:40 UTC (rev 3761) @@ -5,6 +5,7 @@ import java.awt.Rectangle; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.MouseEvent; import java.util.EnumSet; import javax.swing.JFrame; @@ -15,6 +16,7 @@ import javax.swing.JPopupMenu; import org.fudaa.ctulu.CtuluResource; +import org.fudaa.ctulu.gui.CtuluPopupListener; import org.fudaa.ebli.courbe.EGAxe; import org.fudaa.ebli.courbe.EGConfigureActionPalette; import org.fudaa.ebli.courbe.EGFillePanel; @@ -171,8 +173,15 @@ menu.setName("menu du graphe"); menu.setText("menu du graphe"); // creation du panel Egfille correspondant - EGFillePanel panelGraphe=new EGFillePanel(this.graphe); + 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); Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliCheckBoxNodeEditor.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliCheckBoxNodeEditor.java 2008-08-11 14:17:51 UTC (rev 3760) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliCheckBoxNodeEditor.java 2008-08-11 18:47:40 UTC (rev 3761) @@ -3,13 +3,10 @@ import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; import java.awt.event.MouseEvent; import java.util.EventObject; import javax.swing.AbstractCellEditor; -import javax.swing.JCheckBox; import javax.swing.JTree; import javax.swing.event.ChangeEvent; import javax.swing.tree.DefaultMutableTreeNode; @@ -29,8 +26,11 @@ */ public class EbliCheckBoxNodeEditor extends AbstractCellEditor implements TreeCellEditor { - EbliCheckBoxTreeRenderer renderer = new EbliCheckBoxTreeRenderer(); + +private static final long serialVersionUID = 4576652808917382435L; +EbliCheckBoxTreeRenderer renderer = new EbliCheckBoxTreeRenderer(); + ChangeEvent changeEvent = null; EbliWidgetJXTree tree; Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliCheckBoxTreeRenderer.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliCheckBoxTreeRenderer.java 2008-08-11 14:17:51 UTC (rev 3760) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/tree/EbliCheckBoxTreeRenderer.java 2008-08-11 18:47:40 UTC (rev 3761) @@ -125,7 +125,11 @@ // qccessible en fonction du tree leafRenderer.setEnabled(tree.isEnabled()); - + if(selected){ + leafRenderer.setBackground(Color.BLUE); + } + else + leafRenderer.setBackground(Color.WHITE); return leafRenderer; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |