From: <bma...@us...> - 2011-03-04 15:43:31
|
Revision: 6141 http://fudaa.svn.sourceforge.net/fudaa/?rev=6141&view=rev Author: bmarchan Date: 2011-03-04 15:43:24 +0000 (Fri, 04 Mar 2011) Log Message: ----------- [maven-release-plugin] prepare release fudaa-framework-1.1 Modified Paths: -------------- trunk/framework/ctulu-bu/pom.xml trunk/framework/ctulu-common/pom.xml trunk/framework/ctulu-fu/pom.xml trunk/framework/ctulu-gis/pom.xml trunk/framework/ctulu-ui/pom.xml trunk/framework/ctulu-video/pom.xml trunk/framework/dodico-common/pom.xml trunk/framework/ebli-1d/pom.xml trunk/framework/ebli-2d/pom.xml trunk/framework/ebli-3d/pom.xml trunk/framework/ebli-common/pom.xml trunk/framework/ebli-graphe/pom.xml trunk/framework/ebli-visuallibrary/pom.xml trunk/framework/fudaa-common/pom.xml trunk/framework/fudaa-common-courbe/pom.xml trunk/framework/fudaa-common-save/pom.xml trunk/framework/fudaa-dico/pom.xml trunk/framework/fudaa-dico/server/pom.xml trunk/framework/fudaa-dico/ui/pom.xml trunk/framework/pom.xml Modified: trunk/framework/ctulu-bu/pom.xml =================================================================== --- trunk/framework/ctulu-bu/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/ctulu-bu/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.ctulu</groupId> <artifactId>ctulu-bu</artifactId> Modified: trunk/framework/ctulu-common/pom.xml =================================================================== --- trunk/framework/ctulu-common/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/ctulu-common/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.ctulu</groupId> <artifactId>ctulu-common</artifactId> Modified: trunk/framework/ctulu-fu/pom.xml =================================================================== --- trunk/framework/ctulu-fu/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/ctulu-fu/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -3,7 +3,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.ctulu</groupId> <artifactId>ctulu-fu</artifactId> Modified: trunk/framework/ctulu-gis/pom.xml =================================================================== --- trunk/framework/ctulu-gis/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/ctulu-gis/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.ctulu</groupId> <artifactId>ctulu-gis</artifactId> Modified: trunk/framework/ctulu-ui/pom.xml =================================================================== --- trunk/framework/ctulu-ui/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/ctulu-ui/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -1,11 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.ctulu</groupId> <artifactId>ctulu-ui</artifactId> Modified: trunk/framework/ctulu-video/pom.xml =================================================================== --- trunk/framework/ctulu-video/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/ctulu-video/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.ctulu</groupId> <artifactId>ctulu-video</artifactId> Modified: trunk/framework/dodico-common/pom.xml =================================================================== --- trunk/framework/dodico-common/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/dodico-common/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.dodico</groupId> <artifactId>dodico-common</artifactId> Modified: trunk/framework/ebli-1d/pom.xml =================================================================== --- trunk/framework/ebli-1d/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/ebli-1d/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.ebli</groupId> <artifactId>ebli-1d</artifactId> Modified: trunk/framework/ebli-2d/pom.xml =================================================================== --- trunk/framework/ebli-2d/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/ebli-2d/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.ebli</groupId> <artifactId>ebli-2d</artifactId> Modified: trunk/framework/ebli-3d/pom.xml =================================================================== --- trunk/framework/ebli-3d/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/ebli-3d/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.ebli</groupId> <artifactId>ebli-3d</artifactId> Modified: trunk/framework/ebli-common/pom.xml =================================================================== --- trunk/framework/ebli-common/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/ebli-common/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.ebli</groupId> <artifactId>ebli-common</artifactId> Modified: trunk/framework/ebli-graphe/pom.xml =================================================================== --- trunk/framework/ebli-graphe/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/ebli-graphe/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.ebli</groupId> <artifactId>ebli-graphe</artifactId> Modified: trunk/framework/ebli-visuallibrary/pom.xml =================================================================== --- trunk/framework/ebli-visuallibrary/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/ebli-visuallibrary/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.ebli</groupId> <artifactId>ebli-visuallibrary</artifactId> Modified: trunk/framework/fudaa-common/pom.xml =================================================================== --- trunk/framework/fudaa-common/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/fudaa-common/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.fudaa</groupId> <artifactId>fudaa-common</artifactId> Modified: trunk/framework/fudaa-common-courbe/pom.xml =================================================================== --- trunk/framework/fudaa-common-courbe/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/fudaa-common-courbe/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.fudaa</groupId> <artifactId>fudaa-common-courbe</artifactId> Modified: trunk/framework/fudaa-common-save/pom.xml =================================================================== --- trunk/framework/fudaa-common-save/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/fudaa-common-save/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> </parent> <groupId>org.fudaa.framework.fudaa</groupId> <artifactId>fudaa-common-save</artifactId> Modified: trunk/framework/fudaa-dico/pom.xml =================================================================== --- trunk/framework/fudaa-dico/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/fudaa-dico/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -1,34 +1,32 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" - xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.fudaa.framework</groupId> - <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> - </parent> - <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> - <artifactId>fudaa-dico</artifactId> - <name>projet Dico</name> - <packaging>pom</packaging> - <modules> - <module>server</module> - <module>ui</module> - </modules> - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> - <artifactId>dico-server</artifactId> - <version>${version}</version> - </dependency> - <dependency> - <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> - <artifactId>dico-ui</artifactId> - <version>${version}</version> - </dependency> - </dependencies> - </dependencyManagement> -</project> +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.fudaa.framework</groupId> + <artifactId>fudaa-framework</artifactId> + <version>1.1</version> + </parent> + <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> + <artifactId>fudaa-dico</artifactId> + <name>projet Dico</name> + <packaging>pom</packaging> + <modules> + <module>server</module> + <module>ui</module> + </modules> + <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> + <artifactId>dico-server</artifactId> + <version>${version}</version> + </dependency> + <dependency> + <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> + <artifactId>dico-ui</artifactId> + <version>${version}</version> + </dependency> + </dependencies> + </dependencyManagement> +</project> Modified: trunk/framework/fudaa-dico/server/pom.xml =================================================================== --- trunk/framework/fudaa-dico/server/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/fudaa-dico/server/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -1,25 +1,23 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" - xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> - <artifactId>fudaa-dico</artifactId> - <version>1.1-SNAPSHOT</version> - </parent> - <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> - <artifactId>dico-server</artifactId> - <name>Server Dico</name> - <dependencies> - <dependency> - <groupId>org.fudaa.framework.dodico</groupId> - <artifactId>dodico-common</artifactId> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - </dependencies> -</project> +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> + <artifactId>fudaa-dico</artifactId> + <version>1.1</version> + </parent> + <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> + <artifactId>dico-server</artifactId> + <name>Server Dico</name> + <dependencies> + <dependency> + <groupId>org.fudaa.framework.dodico</groupId> + <artifactId>dodico-common</artifactId> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + </dependencies> +</project> Modified: trunk/framework/fudaa-dico/ui/pom.xml =================================================================== --- trunk/framework/fudaa-dico/ui/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/fudaa-dico/ui/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -1,28 +1,26 @@ -<?xml version="1.0" encoding="UTF-8"?> -<project - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" - xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> - <artifactId>fudaa-dico</artifactId> - <version>1.1-SNAPSHOT</version> - </parent> - <artifactId>dico-ui</artifactId> - <name>Dico UI</name> - <dependencies> - <dependency> - <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> - <artifactId>dico-server</artifactId> - </dependency> - <dependency> - <groupId>org.fudaa.framework.fudaa</groupId> - <artifactId>fudaa-common</artifactId> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - </dependencies> -</project> +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> + <artifactId>fudaa-dico</artifactId> + <version>1.1</version> + </parent> + <artifactId>dico-ui</artifactId> + <name>Dico UI</name> + <dependencies> + <dependency> + <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> + <artifactId>dico-server</artifactId> + </dependency> + <dependency> + <groupId>org.fudaa.framework.fudaa</groupId> + <artifactId>fudaa-common</artifactId> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + </dependencies> +</project> Modified: trunk/framework/pom.xml =================================================================== --- trunk/framework/pom.xml 2011-03-04 15:28:30 UTC (rev 6140) +++ trunk/framework/pom.xml 2011-03-04 15:43:24 UTC (rev 6141) @@ -1,6 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.fudaa.pom</groupId> @@ -9,7 +8,7 @@ </parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1-SNAPSHOT</version> + <version>1.1</version> <url>http://www.fudaa.fr/sites/devel/fudaa-framework/</url> <distributionManagement> <site> @@ -22,11 +21,11 @@ <name>Fudaa common</name> <description>La partie commune du framework fudaa</description> <scm> - <connection>scm:svn:http://fudaa.svn.sourceforge.net/svnroot/fudaa/trunk/framework + <connection>scm:svn:http://fudaa.svn.sourceforge.net/svnroot/fudaa/tags/framework/fudaa-framework-1.1 </connection> - <developerConnection>scm:svn:https://fudaa.svn.sourceforge.net/svnroot/fudaa/trunk/framework + <developerConnection>scm:svn:https://fudaa.svn.sourceforge.net/svnroot/fudaa/tags/framework/fudaa-framework-1.1 </developerConnection> - <url>http://fudaa.svn.sourceforge.net/viewvc/fudaa/svnroot/fudaa/trunk/framework + <url>http://fudaa.svn.sourceforge.net/viewvc/fudaa/svnroot/fudaa/tags/framework/fudaa-framework-1.1 </url> </scm> <modules> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-03-04 15:45:05
|
Revision: 6143 http://fudaa.svn.sourceforge.net/fudaa/?rev=6143&view=rev Author: bmarchan Date: 2011-03-04 15:44:58 +0000 (Fri, 04 Mar 2011) Log Message: ----------- [maven-release-plugin] prepare for next development iteration Modified Paths: -------------- trunk/framework/ctulu-bu/pom.xml trunk/framework/ctulu-common/pom.xml trunk/framework/ctulu-fu/pom.xml trunk/framework/ctulu-gis/pom.xml trunk/framework/ctulu-ui/pom.xml trunk/framework/ctulu-video/pom.xml trunk/framework/dodico-common/pom.xml trunk/framework/ebli-1d/pom.xml trunk/framework/ebli-2d/pom.xml trunk/framework/ebli-3d/pom.xml trunk/framework/ebli-common/pom.xml trunk/framework/ebli-graphe/pom.xml trunk/framework/ebli-visuallibrary/pom.xml trunk/framework/fudaa-common/pom.xml trunk/framework/fudaa-common-courbe/pom.xml trunk/framework/fudaa-common-save/pom.xml trunk/framework/fudaa-dico/pom.xml trunk/framework/fudaa-dico/server/pom.xml trunk/framework/fudaa-dico/ui/pom.xml trunk/framework/pom.xml Modified: trunk/framework/ctulu-bu/pom.xml =================================================================== --- trunk/framework/ctulu-bu/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/ctulu-bu/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.ctulu</groupId> <artifactId>ctulu-bu</artifactId> Modified: trunk/framework/ctulu-common/pom.xml =================================================================== --- trunk/framework/ctulu-common/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/ctulu-common/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.ctulu</groupId> <artifactId>ctulu-common</artifactId> Modified: trunk/framework/ctulu-fu/pom.xml =================================================================== --- trunk/framework/ctulu-fu/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/ctulu-fu/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -3,7 +3,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.ctulu</groupId> <artifactId>ctulu-fu</artifactId> Modified: trunk/framework/ctulu-gis/pom.xml =================================================================== --- trunk/framework/ctulu-gis/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/ctulu-gis/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.ctulu</groupId> <artifactId>ctulu-gis</artifactId> Modified: trunk/framework/ctulu-ui/pom.xml =================================================================== --- trunk/framework/ctulu-ui/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/ctulu-ui/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.ctulu</groupId> <artifactId>ctulu-ui</artifactId> Modified: trunk/framework/ctulu-video/pom.xml =================================================================== --- trunk/framework/ctulu-video/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/ctulu-video/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.ctulu</groupId> <artifactId>ctulu-video</artifactId> Modified: trunk/framework/dodico-common/pom.xml =================================================================== --- trunk/framework/dodico-common/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/dodico-common/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.dodico</groupId> <artifactId>dodico-common</artifactId> Modified: trunk/framework/ebli-1d/pom.xml =================================================================== --- trunk/framework/ebli-1d/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/ebli-1d/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.ebli</groupId> <artifactId>ebli-1d</artifactId> Modified: trunk/framework/ebli-2d/pom.xml =================================================================== --- trunk/framework/ebli-2d/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/ebli-2d/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.ebli</groupId> <artifactId>ebli-2d</artifactId> Modified: trunk/framework/ebli-3d/pom.xml =================================================================== --- trunk/framework/ebli-3d/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/ebli-3d/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.ebli</groupId> <artifactId>ebli-3d</artifactId> Modified: trunk/framework/ebli-common/pom.xml =================================================================== --- trunk/framework/ebli-common/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/ebli-common/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.ebli</groupId> <artifactId>ebli-common</artifactId> Modified: trunk/framework/ebli-graphe/pom.xml =================================================================== --- trunk/framework/ebli-graphe/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/ebli-graphe/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.ebli</groupId> <artifactId>ebli-graphe</artifactId> Modified: trunk/framework/ebli-visuallibrary/pom.xml =================================================================== --- trunk/framework/ebli-visuallibrary/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/ebli-visuallibrary/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.ebli</groupId> <artifactId>ebli-visuallibrary</artifactId> Modified: trunk/framework/fudaa-common/pom.xml =================================================================== --- trunk/framework/fudaa-common/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/fudaa-common/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.fudaa</groupId> <artifactId>fudaa-common</artifactId> Modified: trunk/framework/fudaa-common-courbe/pom.xml =================================================================== --- trunk/framework/fudaa-common-courbe/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/fudaa-common-courbe/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.fudaa</groupId> <artifactId>fudaa-common-courbe</artifactId> Modified: trunk/framework/fudaa-common-save/pom.xml =================================================================== --- trunk/framework/fudaa-common-save/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/fudaa-common-save/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.fudaa</groupId> <artifactId>fudaa-common-save</artifactId> Modified: trunk/framework/fudaa-dico/pom.xml =================================================================== --- trunk/framework/fudaa-dico/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/fudaa-dico/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -5,7 +5,7 @@ <parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> <artifactId>fudaa-dico</artifactId> Modified: trunk/framework/fudaa-dico/server/pom.xml =================================================================== --- trunk/framework/fudaa-dico/server/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/fudaa-dico/server/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> <artifactId>fudaa-dico</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> <artifactId>dico-server</artifactId> Modified: trunk/framework/fudaa-dico/ui/pom.xml =================================================================== --- trunk/framework/fudaa-dico/ui/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/fudaa-dico/ui/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -4,7 +4,7 @@ <parent> <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId> <artifactId>fudaa-dico</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> </parent> <artifactId>dico-ui</artifactId> <name>Dico UI</name> Modified: trunk/framework/pom.xml =================================================================== --- trunk/framework/pom.xml 2011-03-04 15:43:40 UTC (rev 6142) +++ trunk/framework/pom.xml 2011-03-04 15:44:58 UTC (rev 6143) @@ -8,7 +8,7 @@ </parent> <groupId>org.fudaa.framework</groupId> <artifactId>fudaa-framework</artifactId> - <version>1.1</version> + <version>1.2-SNAPSHOT</version> <url>http://www.fudaa.fr/sites/devel/fudaa-framework/</url> <distributionManagement> <site> @@ -21,11 +21,11 @@ <name>Fudaa common</name> <description>La partie commune du framework fudaa</description> <scm> - <connection>scm:svn:http://fudaa.svn.sourceforge.net/svnroot/fudaa/tags/framework/fudaa-framework-1.1 + <connection>scm:svn:http://fudaa.svn.sourceforge.net/svnroot/fudaa/trunk/framework </connection> - <developerConnection>scm:svn:https://fudaa.svn.sourceforge.net/svnroot/fudaa/tags/framework/fudaa-framework-1.1 + <developerConnection>scm:svn:https://fudaa.svn.sourceforge.net/svnroot/fudaa/trunk/framework </developerConnection> - <url>http://fudaa.svn.sourceforge.net/viewvc/fudaa/svnroot/fudaa/tags/framework/fudaa-framework-1.1 + <url>http://fudaa.svn.sourceforge.net/viewvc/fudaa/svnroot/fudaa/trunk/framework </url> </scm> <modules> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-04-01 09:31:09
|
Revision: 6201 http://fudaa.svn.sourceforge.net/fudaa/?rev=6201&view=rev Author: bmarchan Date: 2011-04-01 09:31:02 +0000 (Fri, 01 Apr 2011) Log Message: ----------- ADD : Trac?\195?\169 de marqueur de courbe avec un titre diff?\195?\169rent de value. ADD : Trac?\195?\169 de labels de points de courbe. Modified Paths: -------------- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbe.java trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbeMarqueur.java trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceBox.java Property Changed: ---------------- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbe.java trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EvolutionOperations.java Property changes on: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe ___________________________________________________________________ Modified: svn:mergeinfo - /branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/courbe:3860-6161 + /branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/courbe:3860-6200 Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbe.java =================================================================== --- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbe.java 2011-03-31 13:52:29 UTC (rev 6200) +++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbe.java 2011-04-01 09:31:02 UTC (rev 6201) @@ -1,17 +1,22 @@ /* * @creation 11 d\xE9c. 2003 - * * @modification $Date: 2007-05-22 14:19:05 $ - * * @license GNU General Public License 2 - * * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne */ package org.fudaa.ebli.courbe; import gnu.trove.TIntArrayList; -import java.awt.*; +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Component; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Shape; +import java.awt.Stroke; import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.List; @@ -20,8 +25,6 @@ import javax.swing.SwingConstants; import javax.swing.tree.TreeNode; -import com.vividsolutions.jts.geom.Envelope; - import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluListSelectionInterface; @@ -38,6 +41,8 @@ import org.fudaa.ebli.trace.TraceLigne; import org.fudaa.ebli.trace.TraceLigneModel; +import com.vividsolutions.jts.geom.Envelope; + /** * Cette Courbe suppose que tous les x du mod\xE8le sont rang\xE9es dans l'ordre croissant. * @@ -74,6 +79,7 @@ EGCourbeSurfacePainter surfacePainter_; TraceBox tbox_; + TraceBox tboxLabels_; /** * @param _model le model a prendre en compte @@ -120,6 +126,21 @@ } } + private void initLabelsTraceBox(Color _c) { + if (tboxLabels_==null) { + tboxLabels_=new TraceBox(); + tboxLabels_.setColorFond(Color.WHITE); + tboxLabels_.setHMargin(1); + tboxLabels_.setVMargin(1); + tboxLabels_.setHPosition(SwingConstants.LEFT); + tboxLabels_.setVPosition(SwingConstants.CENTER); + tboxLabels_.setDrawBox(true); + tboxLabels_.setDrawFond(true); + } + tboxLabels_.setColorBoite(_c); + tboxLabels_.setColorText(_c); + } + protected void traceMarks(final Graphics2D _g, final EGRepere _t) { final int xmin = _t.getMinEcranX(); final int xmax = _t.getMaxEcranX(); @@ -177,7 +198,12 @@ if (axeY.containsPoint(marqueur.getValue()) && marqueur.isVisible() && marqueur.traceHorizontal_) { final int yie = _t.getYEcran(marqueur.getValue(), axeY); int x = xmin + 3; - final String str = axeY.getStringAffiche(marqueur.getValue()); + final String str; + if (marqueur.getTitle()!=null) + str=marqueur.getTitle(); + else + str=axeY.getStringAffiche(marqueur.getValue()); + if (axeY.isDroite()) { x = xmax - 6 - _g.getFontMetrics().stringWidth(str); } @@ -189,7 +215,11 @@ && !marqueur.traceHorizontal_) { final int xie = _t.getXEcran(marqueur.getValue()); int y = 0 + 6; - final String str = getAxeX().getStringAffiche(marqueur.getValue()); + final String str; + if (marqueur.getTitle()!=null) + str=marqueur.getTitle(); + else + str = getAxeX().getStringAffiche(marqueur.getValue()); // if (getAxeX().isDroite()) { // x = xmax - 6 - _g.getFontMetrics().stringWidth(str); // } @@ -426,6 +456,8 @@ trIcon.setCouleur(EbliLib.getAlphaColor(trIcon.getCouleur(), alpha_)); trLigne.setCouleur(EbliLib.getAlphaColor(trLigne.getCouleur(), alpha_)); } + // Les labels ont m\xEAme couleur que la courbe. + initLabelsTraceBox(trLigne.getCouleur()); for (int i = 0; i < nbPt; i++) { xi = model_.getX(i); yi = model_.getY(i); @@ -434,15 +466,39 @@ xiVisible = _t.getXAxe().containsPoint(xi); yiVisible = getAxeY().containsPoint(yi); - if (model_.isPointDrawn(i) && xiVisible && yiVisible && iconeModel_.getType() != TraceIcon.RIEN) { - if (displayTitleOnCurve_) { - if (rangeDisplayed == null) { - rangeDisplayed = new Envelope(); + if(model_.isPointDrawn(i) && xiVisible && yiVisible) { + // Paint point label + String pLabel=model_.getPointLabel(i); + if(pLabel!=null) { + // Dessin de la boite et du label + // X + int xBox; + if(((int) xie)<=_t.getMinEcranX()) + xBox=((int) xie); + else if(((int) xie)>=_t.getMaxEcranX()) + xBox=((int) xie)-_g.getFontMetrics().stringWidth(pLabel)-3; + else + xBox=((int) xie)-_g.getFontMetrics().stringWidth(pLabel)/2-2; + // Y + int yBox; + if(((int) yie)>=_t.getMaxEcranY()) + yBox=((int) yie)-10; + else + yBox=((int) yie)+10; + // Paint + tboxLabels_.paintBox(_g, xBox, yBox, pLabel); + } + // Paint point + if(iconeModel_.getType() != TraceIcon.RIEN) { + if (displayTitleOnCurve_) { + if (rangeDisplayed == null) { + rangeDisplayed = new Envelope(); + } + rangeDisplayed.expandToInclude(xi, yi); } - rangeDisplayed.expandToInclude(xi, yi); + // icone_.couleur(getAspectContour()); + trIcon.paintIconCentre(_g, xie, yie); } - // icone_.couleur(getAspectContour()); - trIcon.paintIconCentre(_g, xie, yie); } if ((i > 0) && model_.isSegmentDrawn(i - 1) && (xpVisible || xiVisible || _t.getXAxe().isContained(xpe, xie))) { if (displayTitleOnCurve_) { @@ -964,6 +1020,7 @@ return setTitle(_newTitle); } + @Override public String toString() { return getTitle(); } @@ -976,12 +1033,14 @@ this.tbox_ = tbox_; } + @Override public BConfigurePalette getPalette() { return paletteEnCours_; } BConfigurePalette paletteEnCours_ = null; + @Override public void setPalette(BConfigurePalette pal) { paletteEnCours_ = pal; @@ -989,6 +1048,7 @@ public static String INDICE_PANEL_SHOW = "indicePtoshow"; + @Override public boolean reloadPalette(Map infos) { int panelToShow = -1; Property changes on: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbe.java ___________________________________________________________________ Added: svn:mergeinfo + /branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EGCourbe.java:3860-6200 Added: svn:eol-style + native Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbeMarqueur.java =================================================================== --- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbeMarqueur.java 2011-03-31 13:52:29 UTC (rev 6200) +++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbeMarqueur.java 2011-04-01 09:31:02 UTC (rev 6201) @@ -3,14 +3,17 @@ import org.fudaa.ebli.trace.TraceLigneModel; /** - * Gestion d'un seul marqueur pour la courbe. - * un marqueur contient une valeur, un boolean d'affichage et un traceligne Model. - * il contient un boolean pour indiquer si on affiche sur l'axe desy ou x. - * il contient \xE9galement un titre pour indiquer son nom. - * EgCourbe contient une liste de ces objets. - * Ces objets sont faciles \xE0 persister. + * Marqueur de trac\xE9 de courbes. + * + * Un marqueur est trac\xE9 suivant une ligne verticale ou horizontale (suivant + * son axe de r\xE9f\xE9rence). Il contient une valeur, un boolean d'affichage et un + * traceligne Model. Il contient un boolean pour indiquer si on affiche sur l'axe + * des y ou x. Il contient \xE9galement un titre pour indiquer son nom. Si aucun + * titre donn\xE9, la valeur de sa position sur l'axe est indiqu\xE9e.<p> + * + * Remarque : Le marqueur est facile \xE0 persister. * @author Adrien Hadoux - * + * @see EGCourbe */ public class EGCourbeMarqueur { @@ -18,17 +21,22 @@ boolean view_=false; TraceLigneModel model_; boolean traceHorizontal_=true; + /** Titre : Peut \xEAtre null. */ + String title_; - public EGCourbeMarqueur(double value, boolean view, TraceLigneModel model,boolean traceH) { + public EGCourbeMarqueur(double value, String _title, boolean view, TraceLigneModel model,boolean traceH) { super(); this.value_ = value; this.view_ = view; this.model_ = model; traceHorizontal_=traceH; + title_=_title; } + public EGCourbeMarqueur(double value, boolean view, TraceLigneModel model,boolean traceH) { + this(value, null, view, model, traceH); + } - public double getValue() { return value_; } @@ -54,8 +62,15 @@ public void setTraceHorizontal(boolean traceHorizontal) { this.traceHorizontal_ = traceHorizontal; } + + public void setTitle(String _title) { + title_=_title; + } + + public String getTitle() { + return title_; + } - public EGCourbeMarqueur duplique(){ return new EGCourbeMarqueur(this.value_,view_,model_,traceHorizontal_); Property changes on: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EvolutionOperations.java ___________________________________________________________________ Modified: svn:mergeinfo - /branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/EvolutionOperations.java:3860-6161 /branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EvolutionOperations.java:3860-6161 + /branches/FudaaModeleur_TC1Bis/fudaa_devel/ctulu/src/org/fudaa/ctulu/collection/EvolutionOperations.java:3860-6161 /branches/FudaaModeleur_TC1Bis/fudaa_devel/ebli/src/org/fudaa/ebli/courbe/EvolutionOperations.java:3860-6200 Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceBox.java =================================================================== --- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceBox.java 2011-03-31 13:52:29 UTC (rev 6200) +++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/trace/TraceBox.java 2011-04-01 09:31:02 UTC (rev 6201) @@ -14,6 +14,14 @@ import javax.swing.SwingConstants; /** + * Une classe permettant de tracer un texte \xE0 une position (x,y) donn\xE9e. Le texte + * peut \xEAtre trac\xE9 : + * <ul> + * <li>Centr\xE9/\xE0 gauche/\xE0 droite/au milieu/en bas/en haut de la position suivant + * les constantes {@link SwingConstants}.</li> + * <li>Avec une d\xE9coration (fond/contour rectangle visible)</li> + * </ul> + * * @author Fred Deniger * @version $Id: TraceBox.java,v 1.5 2006-09-19 14:55:49 deniger Exp $ */ @@ -93,7 +101,7 @@ public int currentWidth_=-1; - + public void paintBox(final Graphics2D _g2d, final int _x, final int _y, final String _s) { if (traceLigne_ == null) { traceLigne_ = new TraceLigne(); @@ -155,6 +163,12 @@ hMargin_ = _margin; } + /** + * @param _position Position horizontale du texte. + * @see SwingConstants#LEFT + * @see SwingConstants#CENTER + * @see SwingConstants#RIGHT + */ public void setHPosition(final int _position) { hPosition_ = _position; } @@ -167,6 +181,12 @@ vMargin_ = _margin; } + /** + * @param _position Position verticale du texte. + * @see SwingConstants#TOP + * @see SwingConstants#CENTER + * @see SwingConstants#BOTTOM + */ public void setVPosition(final int _position) { vPosition_ = _position; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2011-04-21 22:55:06
|
Revision: 6224 http://fudaa.svn.sourceforge.net/fudaa/?rev=6224&view=rev Author: deniger Date: 2011-04-21 22:54:59 +0000 (Thu, 21 Apr 2011) Log Message: ----------- Modified Paths: -------------- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbePersistBuilder.java trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGGraphePersist.java trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/find/EbliFindDialog.java trunk/framework/fudaa-common-courbe/src/main/java/org/fudaa/fudaa/commun/courbe/FudaaGrapheTimeAnimatedVisuPanel.java Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbePersistBuilder.java =================================================================== --- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbePersistBuilder.java 2011-04-20 14:29:52 UTC (rev 6223) +++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGCourbePersistBuilder.java 2011-04-21 22:54:59 UTC (rev 6224) @@ -24,6 +24,10 @@ if (persist.inverse) egObject.inverserModele(); } + public boolean saveXY() { + return true; + } + public EGCourbePersist persistGraphicsData(T egCourbe) { EGCourbePersist createPersistUnit = createPersistUnit(egCourbe); saveGraphicsData(createPersistUnit, egCourbe); @@ -52,12 +56,11 @@ if (model == null) { model = new EGCourbeModelDefault(persist.abscisses, persist.ordonnees); - } else { - // -- ajotu des coordonnees --// + } else if (saveXY()) { + // -- ajout des coordonnees --// model.addValue(persist.abscisses, persist.ordonnees, null); + _infos.put(DEFAULTY, persist.ordonnees); } - // -- donnees specifiques --// - _infos.put(DEFAULTY, persist.ordonnees); model.restoreFromSpecificDatas(persist.dataSpecifiques, _infos); return model; } @@ -81,15 +84,18 @@ res.title_ = courbe.getTitle(); res.nuagePoints = courbe.isNuagePoints(); EGModel initialModel = courbe.getInitialModel(); - res.Xmin = initialModel.getXMin(); - res.Xmax = initialModel.getXMax(); - res.Ymin = initialModel.getYMin(); - res.Ymax = initialModel.getYMax(); - res.abscisses = new double[initialModel.getNbValues()]; - res.ordonnees = new double[initialModel.getNbValues()]; - for (int i = 0; i < initialModel.getNbValues(); i++) { - res.abscisses[i] = initialModel.getX(i); - res.ordonnees[i] = initialModel.getY(i); + if (saveXY()) { + res.Xmin = initialModel.getXMin(); + res.Xmax = initialModel.getXMax(); + res.Ymin = initialModel.getYMin(); + res.Ymax = initialModel.getYMax(); + + res.abscisses = new double[initialModel.getNbValues()]; + res.ordonnees = new double[initialModel.getNbValues()]; + for (int i = 0; i < initialModel.getNbValues(); i++) { + res.abscisses[i] = initialModel.getX(i); + res.ordonnees[i] = initialModel.getY(i); + } } // -- exemple pour evol: pdt, point,variable, fichier source --// res.dataSpecifiques = initialModel.savePersistSpecificDatas(); @@ -107,7 +113,7 @@ res.listeMarqueurs_ = courbe.getMarqueurs(); res.inverse = courbe.isInverse; - + } } Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGGraphePersist.java =================================================================== --- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGGraphePersist.java 2011-04-20 14:29:52 UTC (rev 6223) +++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGGraphePersist.java 2011-04-21 22:54:59 UTC (rev 6224) @@ -484,7 +484,6 @@ } } catch (Exception e) { FuLog.error(e); - e.printStackTrace(); } } Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/find/EbliFindDialog.java =================================================================== --- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/find/EbliFindDialog.java 2011-04-20 14:29:52 UTC (rev 6223) +++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/find/EbliFindDialog.java 2011-04-21 22:54:59 UTC (rev 6224) @@ -46,7 +46,7 @@ public class EbliFindDialog extends BuPanel implements ActionListener, ItemListener, PropertyChangeListener { static class SelectComboboxRenderer extends CtuluCellTextRenderer { - + private static final String AND = EbliLib.getS("Rechercher dans la s\xE9lection") + " (and)"; private static final String REPLACE = EbliLib.getS("Remplacer la s\xE9lection courante"); private static final String REPLACE_SONDE = EbliLib.getS("Remplacer la sonde courante"); @@ -76,7 +76,7 @@ final Integer i = (Integer) _value; switch (i.intValue()) { case EbliSelectionState.ACTION_ADD: - txt = selectModeModel.isValueSonde()?ADD_SONDE:ADD; + txt = selectModeModel.isValueSonde() ? ADD_SONDE : ADD; ic = add_; break; case EbliSelectionState.ACTION_DEL: @@ -84,7 +84,7 @@ ic = remove_; break; case EbliSelectionState.ACTION_REPLACE: - txt = selectModeModel.isValueSonde()?REPLACE_SONDE:REPLACE; + txt = selectModeModel.isValueSonde() ? REPLACE_SONDE : REPLACE; ic = set_; break; case EbliSelectionState.ACTION_AND: @@ -111,7 +111,8 @@ public SelectionModeModel() { valuesNormal_ = new Integer[] { new Integer(EbliSelectionState.ACTION_REPLACE), - new Integer(EbliSelectionState.ACTION_ADD)}; + new Integer(EbliSelectionState.ACTION_ADD), new Integer(EbliSelectionState.ACTION_DEL), + new Integer(EbliSelectionState.ACTION_AND) }; values_ = valuesNormal_; selected_ = values_[0]; } @@ -303,8 +304,7 @@ private void updateSelectModel() { if (findCmp_ == null) { cbSelectMode_.setEnabled(false); - } - else{ + } else { cbMode_.setSondeMode("SONDE".equals(findCmp_.getSearchId())); } } Modified: trunk/framework/fudaa-common-courbe/src/main/java/org/fudaa/fudaa/commun/courbe/FudaaGrapheTimeAnimatedVisuPanel.java =================================================================== --- trunk/framework/fudaa-common-courbe/src/main/java/org/fudaa/fudaa/commun/courbe/FudaaGrapheTimeAnimatedVisuPanel.java 2011-04-20 14:29:52 UTC (rev 6223) +++ trunk/framework/fudaa-common-courbe/src/main/java/org/fudaa/fudaa/commun/courbe/FudaaGrapheTimeAnimatedVisuPanel.java 2011-04-21 22:54:59 UTC (rev 6224) @@ -11,6 +11,7 @@ import java.util.Arrays; import java.util.List; +import org.fudaa.ctulu.CtuluUI; import org.fudaa.ebli.animation.ActionAnimationTreeSelection; import org.fudaa.ebli.animation.EbliAnimatedInterface; import org.fudaa.ebli.animation.EbliAnimationSourceInterface; @@ -29,9 +30,13 @@ ActionAnimationTreeSelection video_; public FudaaGrapheTimeAnimatedVisuPanel(EGGraphe _a) { - this(_a,null); + this(_a, (EbliActionInterface[]) null); } + public FudaaGrapheTimeAnimatedVisuPanel(EGGraphe _a, CtuluUI ui) { + this(_a, (EbliActionInterface[]) null); + } + public FudaaGrapheTimeAnimatedVisuPanel(EGGraphe _a, EbliActionInterface[] _userAction) { super(_a, _userAction); List acts = new ArrayList(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2011-04-22 00:54:23
|
Revision: 6227 http://fudaa.svn.sourceforge.net/fudaa/?rev=6227&view=rev Author: deniger Date: 2011-04-22 00:54:17 +0000 (Fri, 22 Apr 2011) Log Message: ----------- Modified Paths: -------------- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/FudaaPreferencesAbstract.java Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java 2011-04-21 23:05:33 UTC (rev 6226) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java 2011-04-22 00:54:17 UTC (rev 6227) @@ -293,4 +293,11 @@ point(pt, _ind, _idVertex); return pt; } + + /** + * @return the geometries_ + */ + public GISZoneCollectionGeometry getGeometries() { + return geometries_; + } } Modified: trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/FudaaPreferencesAbstract.java =================================================================== --- trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/FudaaPreferencesAbstract.java 2011-04-21 23:05:33 UTC (rev 6226) +++ trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/FudaaPreferencesAbstract.java 2011-04-22 00:54:17 UTC (rev 6227) @@ -31,4 +31,23 @@ values_ = new Properties(defaultValues_); readIniFile(); } + + public String[] getStringArrayProperty(final String _key,final String[] _defaut){ + final String s = getStringProperty(_key,null); + if (s == null) { + return _defaut; + } + return CtuluLibString.parseString(s, ";"); + } + + public void putStringArrayProperty(final String _key,final String[] _defaut){ + putStringProperty(_key, CtuluLibString.arrayToString(_defaut, ";")); + } + + /** + * Renvoie toutes les proprietes du projet y compris les valeurs par defaut. + */ + public Enumeration allKeysWithDefaults(){ + return values_.propertyNames(); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-04-22 08:27:18
|
Revision: 6232 http://fudaa.svn.sourceforge.net/fudaa/?rev=6232&view=rev Author: bmarchan Date: 2011-04-22 08:27:12 +0000 (Fri, 22 Apr 2011) Log Message: ----------- Ajout methode ZModelLigneBriseeEditable.invertGeometry() + bricoles. Modified Paths: -------------- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleLigneBrisee.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliActionMap.java Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleLigneBrisee.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleLigneBrisee.java 2011-04-22 08:04:13 UTC (rev 6231) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleLigneBrisee.java 2011-04-22 08:27:12 UTC (rev 6232) @@ -7,8 +7,10 @@ */ package org.fudaa.ebli.calque; +import org.fudaa.ctulu.gis.GISZoneCollectionLigneBrisee; + /** * Une interface mod\xE8le manipul\xE9e par un calque ZCalqueLigneBrisee. * @see org.fudaa.ebli.calque.ZCalqueLigneBrisee @@ -17,6 +19,8 @@ */ public interface ZModeleLigneBrisee extends ZModeleGeometry { + GISZoneCollectionLigneBrisee getGeomData(); + /** * Retourne le nombre de polylignes (ligne bris\xE9e ouvertes) contenues dans le mod\xE8le. * @return Le nombre de poylignes. Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2011-04-22 08:04:13 UTC (rev 6231) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2011-04-22 08:27:12 UTC (rev 6232) @@ -46,6 +46,8 @@ import com.vividsolutions.jts.geom.CoordinateSequence; import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.LineString; +import org.fudaa.ctulu.CtuluNamedCommand; +import org.fudaa.ebli.calque.ZModelListener; /** * @author Fred Deniger @@ -657,6 +659,50 @@ return true; } + /** + * Inverse le sens de la polyligne. + * @param _idxGeom index de la g\xE9om\xE9trie \xE0 inverser. + * @param _cmd Le container de commandes. + */ + public void invertGeometry(final int _idxGeom, CtuluCommandContainer _cmd){ + // Inversion des coordonn\xE9es + LineString geom=(LineString)getGeomData().getGeometry(_idxGeom); + CoordinateSequence seq=geom.getCoordinateSequence(); + for(int i=0;i<seq.size()/2;i++) + for(int j=0;j<3;j++){ + double valTmp=seq.getOrdinate(i, j); + seq.setOrdinate(i, j, seq.getOrdinate(seq.size()-1-i, j)); + seq.setOrdinate(seq.size()-1-i, j, valTmp); + } + // Inversion des attributs + for(int i=0;i<getAttributeNb();i++) + if(getAttribute(i).isAtomicValue()){ + GISAttributeModel values=(GISAttributeModel) getDataModel(i).getObjectValueAt(_idxGeom); + for(int j=0;j<values.getSize()/2;j++){ + Object valTmp=values.getObjectValueAt(j); + values.setObject(j, values.getObjectValueAt(values.getSize()-1-j), null); + values.setObject(values.getSize()-1-j, valTmp, null); + } + } + // Fires + fireModelAction(_idxGeom, geom, ZModelListener.GEOMETRY_ACTION_MODIFY); + fireAttributeValueChangeAction(this, -1, null, _idxGeom, null); + + if (_cmd!=null){ + _cmd.addCmd(new CtuluNamedCommand() { + public void redo() { + invertGeometry(_idxGeom, null); + } + public void undo() { + invertGeometry(_idxGeom, null); + } + public String getName() { + return EbliLib.getS("Inversion de l'orientation"); + } + }); + } + } + public GISAttributeModel getDataModel(final int _i){ return geometries_.getDataModel(_i); } Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java 2011-04-22 08:04:13 UTC (rev 6231) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java 2011-04-22 08:27:12 UTC (rev 6232) @@ -112,7 +112,8 @@ return pts_.getX(_idx); } - public GISZoneCollection getGeomData() { + @Override + public GISZoneCollectionPoint getGeomData() { return pts_; } Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliActionMap.java =================================================================== --- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliActionMap.java 2011-04-22 08:04:13 UTC (rev 6231) +++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliActionMap.java 2011-04-22 08:27:12 UTC (rev 6232) @@ -7,6 +7,7 @@ */ package org.fudaa.ebli.commun; +import com.memoire.fu.FuLog; import java.util.HashMap; import javax.swing.Action; @@ -39,7 +40,13 @@ * Ajoute une action. */ public void addAction(EbliActionAbstract _action) { - map_.put(_action.getValue(Action.ACTION_COMMAND_KEY), _action); + if (!map_.containsKey(_action.getValue(Action.ACTION_COMMAND_KEY))) { + map_.put(_action.getValue(Action.ACTION_COMMAND_KEY), _action); + } + else { + // Erreur destin\xE9e au programmeur => Pas de traduction + FuLog.error("Command "+_action.getValue(Action.ACTION_COMMAND_KEY)+" is already registered"); + } } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-05-11 14:00:34
|
Revision: 6254 http://fudaa.svn.sourceforge.net/fudaa/?rev=6254&view=rev Author: bmarchan Date: 2011-05-11 14:00:27 +0000 (Wed, 11 May 2011) Log Message: ----------- Fix : Prise en compte des geometries non visibles pour ajustement du zoom. Modified Paths: -------------- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/geometrie/GrBoite.java Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java 2011-05-06 17:24:33 UTC (rev 6253) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleGeometryDefault.java 2011-05-11 14:00:27 UTC (rev 6254) @@ -56,7 +56,7 @@ } public void getDomaineForGeometry(int _idxGeom, GrBoite _target) { - if (geometries_ == null || geometries_.getNumGeometries() == 0) { + if (geometries_ == null || geometries_.getNumGeometries() == 0 || !isGeometryVisible(_idxGeom)) { return; } final Geometry g = geometries_.getGeometry(_idxGeom); @@ -234,11 +234,21 @@ if (geometries_ == null || geometries_.getNumGeometries() == 0) { return null; } - final Envelope e = geometries_.getEnvelopeInternal(); - if (e == null) { - return null; + GrBoite bt=null; + for (int i=geometries_.getNumGeometries()-1; i>=0; i--) { + if (isGeometryVisible(i)) { + final Geometry g = geometries_.getGeometry(i); + final Envelope e = g.getEnvelopeInternal(); + if (bt==null) bt=new GrBoite(); + bt.ajuste(e); + } } - return new GrBoite(new GrPoint(e.getMinX(), e.getMinY(), 0), new GrPoint(e.getMaxX(), e.getMaxY(), 0)); + return bt; +// final Envelope e = geometries_.getEnvelopeInternal(); +// if (e == null) { +// return null; +// } +// return new GrBoite(new GrPoint(e.getMinX(), e.getMinY(), 0), new GrPoint(e.getMaxX(), e.getMaxY(), 0)); } public int getNombre() { Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java 2011-05-06 17:24:33 UTC (rev 6253) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java 2011-05-11 14:00:27 UTC (rev 6254) @@ -197,10 +197,10 @@ pts_.add(_p.x_, _p.y_, _p.z_, r, _cmd); } - public GrBoite getDomaine() { - final Envelope e = pts_.getEnvelopeInternal(); - return new GrBoite(new GrPoint(e.getMinX(), e.getMinY(), 0), new GrPoint(e.getMaxX(), e.getMaxY(), 0)); - } +// public GrBoite getDomaine() { +// final Envelope e = pts_.getEnvelopeInternal(); +// return new GrBoite(new GrPoint(e.getMinX(), e.getMinY(), 0), new GrPoint(e.getMaxX(), e.getMaxY(), 0)); +// } public void fillWithInfo(final InfoData _d, final ZCalqueAffichageDonneesInterface _layer) { _d.setTitle(_layer.getTitle()); @@ -270,6 +270,7 @@ } public void getDomaineForGeometry(int _idxGeom, GrBoite _target) { + if (!isGeometryVisible(_idxGeom)) return; _target.o_.x_=getX(_idxGeom); _target.o_.y_=getY(_idxGeom); _target.e_.x_=_target.o_.x_; Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/geometrie/GrBoite.java =================================================================== --- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/geometrie/GrBoite.java 2011-05-06 17:24:33 UTC (rev 6253) +++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/geometrie/GrBoite.java 2011-05-11 14:00:27 UTC (rev 6254) @@ -181,7 +181,7 @@ } ajuste(_p.getX(), _p.getY(), 0); } - + public void ajuste(final GrPoint _p) { if (_p == null) { return; @@ -239,6 +239,25 @@ } } + /** + * Ajoste \xE0 partir d'une enveloppe. + * @param _e L'enveloppe + */ + public void ajuste(final Envelope _e) { + if (_e != null && !_e.isNull()) { + if (o_ == null) { + o_=new GrPoint(_e.getMinX(), _e.getMinY(), 0); + } + if (e_ == null) { + e_=new GrPoint(_e.getMaxX(), _e.getMaxY(), 0); + } + o_.x_=Math.min(o_.x_, _e.getMinX()); + o_.y_=Math.min(o_.y_, _e.getMinY()); + e_.x_=Math.max(e_.x_, _e.getMaxX()); + e_.y_=Math.max(e_.y_, _e.getMaxY()); + } + } + public boolean isIndefinie() { return (o_ == null) || (e_ == null) || getDeltaX() < 0 || getDeltaY() < 0 || getDeltaZ() < 0; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-06-06 13:08:35
|
Revision: 6270 http://fudaa.svn.sourceforge.net/fudaa/?rev=6270&view=rev Author: bmarchan Date: 2011-06-06 13:08:29 +0000 (Mon, 06 Jun 2011) Log Message: ----------- Outils externes : Execution avec trace dans fenetre + r?\195?\169cup?\195?\169ration des r?\195?\169sultats dans des calques. Modified Paths: -------------- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/factory/GISExportDataStoreFactory.java Added Paths: ----------- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/ProgressionDetailedInterface.java Added: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/ProgressionDetailedInterface.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/ProgressionDetailedInterface.java (rev 0) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/ProgressionDetailedInterface.java 2011-06-06 13:08:29 UTC (rev 6270) @@ -0,0 +1,27 @@ +package org.fudaa.ctulu; + +/** + * une interface pour notifier la progression d'une tache. Doit \xEAtre utilis\xE9e dans + * la tache, et appel\xE9e r\xE9guli\xE8rement. La tache peut notifier certains d\xE9tails. + * + * @author mar...@de... + * @version $Id:$ + */ +public interface ProgressionDetailedInterface extends ProgressionInterface { + + /** + * Ajoute un d\xE9tail aux d\xE9tails pr\xE9c\xE9dents. La string peut comporter des retours + * chariots pour passer \xE0 la ligne. La methode {@link #reset()} efface les + * details. + * + * @param _s La string. + */ + public void appendDetail(String _s); + + /** + * Ajoute un d\xE9tail aux d\xE9tails pr\xE9c\xE9dents, en passant \xE0 la ligne en fin. + * + * @param _s La string. + */ + public void appendDetailln(String _s); +} Property changes on: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/ProgressionDetailedInterface.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Modified: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/factory/GISExportDataStoreFactory.java =================================================================== --- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/factory/GISExportDataStoreFactory.java 2011-06-06 13:07:10 UTC (rev 6269) +++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/factory/GISExportDataStoreFactory.java 2011-06-06 13:08:29 UTC (rev 6270) @@ -44,27 +44,37 @@ final HashMap fileFilterDataStore = new HashMap(); final FileDataStoreFactorySpi[] stores = new FileDataStoreFactorySpi[] { new ShapefileDataStoreFactory(), new MIFDataStoreFactory(), new GMLDataStoreFactory() }; + for (int i = 0; i < stores.length; i++) { - final FileDataStoreFactorySpi shape = stores[i]; - // pour l'instant: geotools ne support pas l'export pour le gml - final String[] ex = shape.getFileExtensions(); - if (ex != null) { - for (int j = ex.length - 1; j >= 0; j--) { - if (ex[j].startsWith(CtuluLibString.DOT)) { - ex[j] = ex[j].substring(1); - } + fileFilterDataStore.put(buildFileFilterFor(stores[i]), stores[i]); + } + return fileFilterDataStore; + } + + /** + * Construit et retoune le filtre correspondant au DataStore. + * @param _store Le data store. + * @return + */ + public static BuFileFilter buildFileFilterFor(FileDataStoreFactorySpi _store) { + // pour l'instant: geotools ne support pas l'export pour le gml + final String[] ex=_store.getFileExtensions(); + if (ex != null) { + for (int j=ex.length - 1; j >= 0; j--) { + if (ex[j].startsWith(CtuluLibString.DOT)) { + ex[j]=ex[j].substring(1); } } - final String desc = shape.getDescription(); - /* - * if (shape.getClass().equals(GMLDataStoreFactory.class)) { desc = "GML (*.gml, *.xml)"; } - */ - final BuFileFilter ft = new BuFileFilter(ex, desc); - // les extensions sont deja mise par les data store factories - ft.setExtensionListInDescription(false); - fileFilterDataStore.put(ft, shape); } - return fileFilterDataStore; + final String desc=_store.getDescription(); + System.out.println(_store.getDisplayName()); + /* + * if (shape.getClass().equals(GMLDataStoreFactory.class)) { desc = "GML (*.gml, *.xml)"; } + */ + final BuFileFilter ft=new BuFileFilter(ex, desc); + // les extensions sont deja mise par les data store factories + ft.setExtensionListInDescription(false); + return ft; } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-06-06 16:32:43
|
Revision: 6274 http://fudaa.svn.sourceforge.net/fudaa/?rev=6274&view=rev Author: bmarchan Date: 2011-06-06 16:32:37 +0000 (Mon, 06 Jun 2011) Log Message: ----------- Chgt de signature methode : public void CtuluDialogPanel.cancel() => public boolean CtuluDialogPanel.cancel() Modified Paths: -------------- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluDialog.java trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluDialogPanel.java trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGPaletteLegendeGraphe.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/exec/FudaaExecManagerPanel.java trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/exetools/FudaaLaunchExeToolAction.java trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/exetools/FudaaOutputPanel.java trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/impl/FudaaInternalFramePanel.java trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/impl/FudaaPanelTask.java Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluDialog.java =================================================================== --- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluDialog.java 2011-06-06 14:17:54 UTC (rev 6273) +++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluDialog.java 2011-06-06 16:32:37 UTC (rev 6274) @@ -72,6 +72,7 @@ public static final int ZERO_OPTION = -1; CtuluDialogPanel dial_; + private BuPanel pnAction_; int option_; @@ -264,62 +265,63 @@ _princ.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); _princ.add(dial_, BuBorderLayout.CENTER); - BuPanel pnAction = new BuPanel(); - pnAction.setLayout(new FlowLayout(FlowLayout.RIGHT, 5, 0)); - pnAction.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); - JButton r = null; - switch (option_) { - case ZERO_OPTION: - break; - case OK_CANCEL_APPLY_OPTION: - r = construireOk(); - pnAction.add(r); - pnAction.add(construireApply()); - pnAction.add(construireCancel()); - break; - case OK_CANCEL_OPTION: - r = construireOk(); - pnAction.add(r); - pnAction.add(construireCancel()); - break; - case OK_OPTION: - r = construireOk(); - pnAction.add(r); - break; - case OK_APPLY_OPTION: - r = construireOk(); - pnAction.add(construireApply()); - pnAction.add(r); - - break; - case CANCEL_OPTION: - r = construireCancel(); - pnAction.add(r); - break; - case APPLY_CANCEL_OPTION: - r = construireApply(); - pnAction.add(r); - pnAction.add(construireCancel()); - break; - case QUIT_OPTION: - r = construireQuit(); - pnAction.add(r); - break; - default: - } + pnAction_ = new BuPanel(); + pnAction_.setLayout(new FlowLayout(FlowLayout.RIGHT, 5, 0)); + pnAction_.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); +// JButton r = null; +// switch (option_) { +// case ZERO_OPTION: +// break; +// case OK_CANCEL_APPLY_OPTION: +// r = construireOk(); +// pnAction_.add(r); +// pnAction_.add(construireApply()); +// pnAction_.add(construireCancel()); +// break; +// case OK_CANCEL_OPTION: +// r = construireOk(); +// pnAction_.add(r); +// pnAction_.add(construireCancel()); +// break; +// case OK_OPTION: +// r = construireOk(); +// pnAction_.add(r); +// break; +// case OK_APPLY_OPTION: +// r = construireOk(); +// pnAction_.add(construireApply()); +// pnAction_.add(r); +// +// break; +// case CANCEL_OPTION: +// r = construireCancel(); +// pnAction_.add(r); +// break; +// case APPLY_CANCEL_OPTION: +// r = construireApply(); +// pnAction_.add(r); +// pnAction_.add(construireCancel()); +// break; +// case QUIT_OPTION: +// r = construireQuit(); +// pnAction_.add(r); +// break; +// default: +// } + JButton r=rebuildButtons(); + + BuPanel pnSouth=new BuPanel(); + pnSouth.setLayout(new BuBorderLayout(0, 0)); + pnSouth.add(pnAction_, BuBorderLayout.EAST); + _princ.add(pnSouth, BuBorderLayout.SOUTH); + if (dial_.getHelpText() != null) { final JButton b = new BuToolButton(BuResource.BU.getToolIcon("aide")); b.setToolTipText(BuResource.BU.getString("aide")); b.setActionCommand("HELP"); b.addActionListener(this); - final BuPanel south = new BuPanel(); - south.setLayout(new BuBorderLayout(0, 0)); - south.add(b, BuBorderLayout.WEST); - south.add(pnAction, BuBorderLayout.EAST); - pnAction = south; + pnSouth.add(b, BuBorderLayout.WEST); } - _princ.add(pnAction, BuBorderLayout.SOUTH); - _princ.doLayout(); return r; } @@ -392,10 +394,11 @@ public void cancel() { response_ = JOptionPane.CANCEL_OPTION; - dial_.cancel(); + if (dial_.cancel()) { // B.M. L'appel a setVisible(false) empeche de r\xE9afficher le panel au travers d'un autre CtuluDialog. // dial_.setVisible(false); - dispose(); + dispose(); + } } /** @@ -431,5 +434,57 @@ */ public void setOption(final int _option) { option_ = _option; + if (pnAction_!=null) { + rebuildButtons(); + } } + + /** + * Reconstruit les boutons en cas de modification des options par exemple. + */ + public JButton rebuildButtons() { + pnAction_.removeAll(); + JButton r = null; + switch (option_) { + case ZERO_OPTION: + break; + case OK_CANCEL_APPLY_OPTION: + r = construireOk(); + pnAction_.add(r); + pnAction_.add(construireApply()); + pnAction_.add(construireCancel()); + break; + case OK_CANCEL_OPTION: + r = construireOk(); + pnAction_.add(r); + pnAction_.add(construireCancel()); + break; + case OK_OPTION: + r = construireOk(); + pnAction_.add(r); + break; + case OK_APPLY_OPTION: + r = construireOk(); + pnAction_.add(construireApply()); + pnAction_.add(r); + + break; + case CANCEL_OPTION: + r = construireCancel(); + pnAction_.add(r); + break; + case APPLY_CANCEL_OPTION: + r = construireApply(); + pnAction_.add(r); + pnAction_.add(construireCancel()); + break; + case QUIT_OPTION: + r = construireQuit(); + pnAction_.add(r); + break; + default: + } + pnAction_.doLayout(); + return r; + } } \ No newline at end of file Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluDialogPanel.java =================================================================== --- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluDialogPanel.java 2011-06-06 14:17:54 UTC (rev 6273) +++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluDialogPanel.java 2011-06-06 16:32:37 UTC (rev 6274) @@ -499,7 +499,12 @@ */ public void apply() {} - public void cancel() {} + /** + * @return true : La boite de dialogue peut \xEAtre ferm\xE9e. False : Elle reste ouverte. + */ + public boolean cancel() { + return true; + } public void cancelErrorText() { if (lbError_.isVisible()) { Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGPaletteLegendeGraphe.java =================================================================== --- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGPaletteLegendeGraphe.java 2011-06-06 14:17:54 UTC (rev 6273) +++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGPaletteLegendeGraphe.java 2011-06-06 16:32:37 UTC (rev 6274) @@ -191,9 +191,9 @@ } @Override - public void cancel() { + public boolean cancel() { graphe_.removeModelListener(modelListener); - super.cancel(); + return super.cancel(); } @Override Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java 2011-06-06 14:17:54 UTC (rev 6273) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java 2011-06-06 16:32:37 UTC (rev 6274) @@ -396,13 +396,13 @@ } @Override - public void cancel() { - super.cancel(); + public boolean cancel() { // D\xE9active le model if (modelData_!=null) { modelData_.setSource(null, -1); ((CtuluCommandComposite)modelData_.getUndoRedoContainer()).undo(); } + return super.cancel(); } public final CtuluCommandContainer getCmd() { Modified: trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/exec/FudaaExecManagerPanel.java =================================================================== --- trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/exec/FudaaExecManagerPanel.java 2011-06-06 14:17:54 UTC (rev 6273) +++ trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/exec/FudaaExecManagerPanel.java 2011-06-06 16:32:37 UTC (rev 6274) @@ -240,7 +240,8 @@ /** * @see org.fudaa.ctulu.gui.CtuluDialogPanel#cancel() */ - public void cancel() { + public boolean cancel() { mng_.getExecMng().reloadFromPref(); + return true; } } Modified: trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/exetools/FudaaLaunchExeToolAction.java =================================================================== --- trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/exetools/FudaaLaunchExeToolAction.java 2011-06-06 14:17:54 UTC (rev 6273) +++ trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/exetools/FudaaLaunchExeToolAction.java 2011-06-06 16:32:37 UTC (rev 6274) @@ -58,7 +58,7 @@ if (params.size()!=0) { FudaaSetParamPanel pn=new FudaaSetParamPanel(impl_); pn.setParams(params); - if (!pn.afficheModaleOk(impl_.getParentComponent(),FudaaLib.getS("Saisissez les param\xE8tres d'ex\xE9cution"))) return; + if (!pn.afficheModaleOk(impl_.getParentComponent(),FudaaLib.getS("Param\xE8tres d'ex\xE9cution de {0}",tool_.name))) return; } @@ -66,7 +66,7 @@ final CtuluDialog di=pnOut.createDialog(impl_.getParentComponent()); di.setOption(CtuluDialog.CANCEL_OPTION); di.setDefaultCloseOperation(CtuluDialog.DO_NOTHING_ON_CLOSE); - di.setTitle(FudaaLib.getS("Progression...")); + di.setTitle(FudaaLib.getS("Progression de {0}...",tool_.name)); CtuluTaskOperationAbstract th=new CtuluTaskOperationAbstract("Execution") { Process proc; @@ -102,22 +102,10 @@ process.setOutStream(new PrintStream(pnOut.getOutputStream())); process.setErrStream(new PrintStream(pnOut.getOutputStream())); process.exec(); - - if (isStopRequested()) return; } finally { di.setOption(CtuluDialog.OK_OPTION); - di.dispose(); - di.afficheDialogModal(); } - - // Dans le cas ou il y a eu interruption de la part de l'utilisateur, on s'arrete. - if (isStopRequested()) return; - - // Traitement \xE9ventuel des param\xE8tres apr\xE8s lancement. - for (FudaaExeTool.ParamI param : tool_.getParams()) { - param.postLaunch(pnOut); - } } public ProgressionInterface getStateReceiver() { @@ -132,6 +120,7 @@ public void requestStop() { super.requestStop(); proc.destroy(); + pnOut.appendDetailln("La tache a \xE9t\xE9 interrompue"); } @@ -140,5 +129,15 @@ pnOut.setTask(th); th.start(); di.afficheDialogModal(); + + // Dans le cas ou il y a eu interruption de la part de l'utilisateur, on s'arrete. + if (th.isStopRequested()) { + return; + } + + // Traitement \xE9ventuel des param\xE8tres apr\xE8s lancement. + for (FudaaExeTool.ParamI param : tool_.getParams()) { + param.postLaunch(pnOut); + } } } Modified: trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/exetools/FudaaOutputPanel.java =================================================================== --- trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/exetools/FudaaOutputPanel.java 2011-06-06 14:17:54 UTC (rev 6273) +++ trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/exetools/FudaaOutputPanel.java 2011-06-06 16:32:37 UTC (rev 6274) @@ -18,7 +18,6 @@ import java.awt.Dimension; import java.awt.Font; import java.io.OutputStream; -import javax.swing.JButton; import javax.swing.JScrollPane; import javax.swing.JTextArea; import org.fudaa.ctulu.CtuluTaskOperationAbstract; @@ -48,8 +47,9 @@ taTrace_=new JTextArea(); taTrace_.setFont(new Font("Courier",Font.PLAIN,taTrace_.getFont().getSize())); JScrollPane pnTrace=new JScrollPane(taTrace_); - pnTrace.setPreferredSize(new Dimension(400,200)); + pnTrace.setPreferredSize(new Dimension(800,400)); add(pnTrace,BorderLayout.CENTER); + setHelpText("Utilisez 'Annuler' pour arreter la progression"); outs_=new OutputStream() { @Override @@ -64,9 +64,10 @@ } @Override - public void cancel() { + public boolean cancel() { if (task_!=null && task_.isAlive()) task_.requestStop(); + return false; } @Override Modified: trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/impl/FudaaInternalFramePanel.java =================================================================== --- trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/impl/FudaaInternalFramePanel.java 2011-06-06 14:17:54 UTC (rev 6273) +++ trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/impl/FudaaInternalFramePanel.java 2011-06-06 16:32:37 UTC (rev 6274) @@ -256,10 +256,6 @@ } - public void cancel() { - // System.out.println("on ferme ..."); - } - public void valueChanged(final ListSelectionEvent _e) { if (_e.getValueIsAdjusting()) { return; Modified: trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/impl/FudaaPanelTask.java =================================================================== --- trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/impl/FudaaPanelTask.java 2011-06-06 14:17:54 UTC (rev 6273) +++ trunk/framework/fudaa-common/src/main/java/org/fudaa/fudaa/commun/impl/FudaaPanelTask.java 2011-06-06 16:32:37 UTC (rev 6274) @@ -89,8 +89,9 @@ } @Override - public void cancel() { + public boolean cancel() { cancelPanel(); + return true; } }; panel_.setLayout(new BuVerticalLayout(2, true, true)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-06-15 13:55:17
|
Revision: 6297 http://fudaa.svn.sourceforge.net/fudaa/?rev=6297&view=rev Author: bmarchan Date: 2011-06-15 13:55:11 +0000 (Wed, 15 Jun 2011) Log Message: ----------- Composants pr?\195?\169f?\195?\169rence enfichables : Controle d'export des tableaux de valeurs + Controle d'affichage des coordonn?\195?\169es Added Paths: ----------- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java Added: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java =================================================================== --- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java (rev 0) +++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java 2011-06-15 13:55:11 UTC (rev 6297) @@ -0,0 +1,83 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.fudaa.ctulu.gui; + +import com.memoire.bu.BuAbstractPreferencesComponent; +import com.memoire.bu.BuPreferences; +import com.memoire.bu.BuTextField; +import java.awt.BorderLayout; +import java.awt.Dimension; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.event.CaretEvent; +import javax.swing.event.CaretListener; +import org.fudaa.ctulu.CtuluLib; + +/** + * Un composant pour les pr\xE9f\xE9rences d'export de valeurs en CVS/TXT + * @author mar...@de... + */ +public class CtuluTablePreferencesComponent extends BuAbstractPreferencesComponent { + private static final String COORDS_EXPORT_DECIMAL_NUMBER="gis.coords.export.decimalnumber"; + private BuTextField tfExport_; + private int exportNbDec; + + public CtuluTablePreferencesComponent() { + options_=BuPreferences.BU; + + tfExport_=BuTextField.createIntegerField(); + tfExport_.setPreferredSize(new Dimension(80,tfExport_.getPreferredSize().height)); + JPanel pnExport=new JPanel(); + setLayout(new BorderLayout()); + add(new JLabel(CtuluLib.getS("Nombre de d\xE9cimales")),BorderLayout.CENTER); + add(tfExport_,BorderLayout.EAST); + + updateComponent(); + + tfExport_.addCaretListener(new CaretListener() { + public void caretUpdate(CaretEvent e) { + valueHasChanged(); + } + }); + } + + @Override + public String getTitle() { + return CtuluLib.getS("Export du tableau des valeurs"); + } + + private void valueHasChanged() { + setSavabled(tfExport_.getValue()!=null); + setModified(isSavabled() && !tfExport_.getValue().equals(exportNbDec)); + } + + @Override + public boolean isPreferencesValidable() { + return true; + } + + @Override + public boolean isPreferencesCancelable() { + return true; + } + + /** + * Mise a jour des composant \xE0 partir des info du fichier. + */ + @Override + protected void updateComponent() { + exportNbDec=options_.getIntegerProperty(COORDS_EXPORT_DECIMAL_NUMBER, 3); + tfExport_.setValue(exportNbDec); + } + + /** + * Remplit la table a partir des valeurs des combobox. + */ + @Override + protected void updateProperties() { + // Nombre de decimales pour l'export des coordonn\xE9es + options_.putIntegerProperty(COORDS_EXPORT_DECIMAL_NUMBER,(Integer)tfExport_.getValue()); + } +} Property changes on: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Added: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java (rev 0) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java 2011-06-15 13:55:11 UTC (rev 6297) @@ -0,0 +1,81 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.fudaa.ebli.calque; + +import com.memoire.bu.BuAbstractPreferencesComponent; +import com.memoire.bu.BuPreferences; +import com.memoire.bu.BuTextField; +import java.awt.BorderLayout; +import java.awt.Dimension; +import javax.swing.JLabel; +import javax.swing.event.CaretEvent; +import javax.swing.event.CaretListener; +import org.fudaa.ctulu.CtuluLib; + +/** + * Un composant pour les pr\xE9f\xE9rences d'export de valeurs en CVS/TXT + * @author mar...@de... + */ +public class EbliGISPreferencesComponent extends BuAbstractPreferencesComponent { + private static final String COORDS_VISU_DECIMAL_NUMBER ="gis.coords.visu.decimalnumber"; + private BuTextField tfCoords_; + private int visuNbDec; + + public EbliGISPreferencesComponent() { + options_=BuPreferences.BU; + + tfCoords_=BuTextField.createIntegerField(); + tfCoords_.setPreferredSize(new Dimension(80,tfCoords_.getPreferredSize().height)); + setLayout(new BorderLayout()); + add(new JLabel(CtuluLib.getS("Nombre de d\xE9cimales")),BorderLayout.CENTER); + add(tfCoords_,BorderLayout.EAST); + + updateComponent(); + + tfCoords_.addCaretListener(new CaretListener() { + public void caretUpdate(CaretEvent e) { + valueHasChanged(); + } + }); + } + + @Override + public String getTitle() { + return CtuluLib.getS("Affichage des coordonn\xE9es"); + } + + private void valueHasChanged() { + setSavabled(tfCoords_.getValue()!=null); + setModified(isSavabled() && !tfCoords_.getValue().equals(visuNbDec)); + } + + @Override + public boolean isPreferencesValidable() { + return true; + } + + @Override + public boolean isPreferencesCancelable() { + return true; + } + + /** + * Mise a jour des composant \xE0 partir des info du fichier. + */ + @Override + protected void updateComponent() { + visuNbDec=options_.getIntegerProperty(COORDS_VISU_DECIMAL_NUMBER, 3); + tfCoords_.setValue(visuNbDec); + } + + /** + * Remplit la table a partir des valeurs des combobox. + */ + @Override + protected void updateProperties() { + // Nombre de decimales pour l'export des coordonn\xE9es + options_.putIntegerProperty(COORDS_VISU_DECIMAL_NUMBER,(Integer)tfCoords_.getValue()); + } +} Property changes on: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java ___________________________________________________________________ Added: svn:keywords + Id 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...> - 2011-06-15 15:40:29
|
Revision: 6298 http://fudaa.svn.sourceforge.net/fudaa/?rev=6298&view=rev Author: bmarchan Date: 2011-06-15 15:40:22 +0000 (Wed, 15 Jun 2011) Log Message: ----------- AME : Prise en compte d'une limitation du nombre de decimales export CSV Modified Paths: -------------- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/table/CtuluTableCsvWriter.java trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTableExportPanel.java trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/table/CtuluTableCsvWriter.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/table/CtuluTableCsvWriter.java 2011-06-15 13:55:11 UTC (rev 6297) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/table/CtuluTableCsvWriter.java 2011-06-15 15:40:22 UTC (rev 6298) @@ -11,6 +11,7 @@ import java.io.IOException; import com.memoire.bu.BuFileFilter; +import java.text.DecimalFormat; import org.fudaa.ctulu.CsvWriter; import org.fudaa.ctulu.CtuluLibString; @@ -28,6 +29,7 @@ CsvWriter w_; boolean writeHeader_ = true; BuFileFilter ftCsv_ = new BuFileFilter(new String[] { "txt", "csv" }, CtuluResource.CTULU.getString("Texte CSV")); + DecimalFormat doubleFmt_; /** * @param _w @@ -38,10 +40,15 @@ } public CtuluTableCsvWriter(final CsvWriter _w, final CtuluTableModelInterface _table, char sepChar) { + this(_w, _table, sepChar, null); + } + + public CtuluTableCsvWriter(final CsvWriter _w, final CtuluTableModelInterface _table, char sepChar, DecimalFormat _doubleFmt) { super(); w_ = _w; w_.setSepChar(sepChar); table_ = _table; + doubleFmt_=_doubleFmt; } public CtuluTableCsvWriter() { @@ -70,7 +77,10 @@ for (int i = 0; i < maxRow; i++) { for (int col = 0; col < maxCol; col++) { final Object o = table_.getValue(i, col); - w_.appendString(o == null ? CtuluLibString.EMPTY_STRING : o.toString()); + if (doubleFmt_!=null && (o instanceof Double)) + w_.appendString(doubleFmt_.format((Double)o)); + else + w_.appendString(o == null ? CtuluLibString.EMPTY_STRING : o.toString()); } w_.newLine(); updater.majAvancement(); Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTableExportPanel.java =================================================================== --- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTableExportPanel.java 2011-06-15 13:55:11 UTC (rev 6297) +++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTableExportPanel.java 2011-06-15 15:40:22 UTC (rev 6298) @@ -28,8 +28,10 @@ import com.memoire.bu.BuGlassPaneStop; import com.memoire.bu.BuLib; import com.memoire.bu.BuList; +import com.memoire.bu.BuPreferences; import com.memoire.bu.BuRadioButton; import com.memoire.bu.BuScrollPane; +import java.text.DecimalFormat; import org.fudaa.ctulu.CsvWriter; import org.fudaa.ctulu.CtuluLib; @@ -203,7 +205,15 @@ final CtuluTableExcelWriter w = new CtuluTableExcelWriter(m, dest_); w.write(task.getStateReceiver()); } else { - final CtuluTableCsvWriter w = new CtuluTableCsvWriter(new CsvWriter(dest_), m,separator); + int nbDigits=BuPreferences.BU.getIntegerProperty(CtuluTablePreferencesComponent.COORDS_EXPORT_NB_DIGITS,-1); + DecimalFormat fmt; + if (nbDigits==-1) + fmt=null; + else { + fmt=CtuluLib.getDecimalFormat(); + fmt.setMaximumFractionDigits(nbDigits); + } + final CtuluTableCsvWriter w = new CtuluTableCsvWriter(new CsvWriter(dest_), m,separator,fmt); w.write(task.getStateReceiver()); } } catch (final Exception e) { Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java =================================================================== --- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java 2011-06-15 13:55:11 UTC (rev 6297) +++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java 2011-06-15 15:40:22 UTC (rev 6298) @@ -1,14 +1,15 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ package org.fudaa.ctulu.gui; import com.memoire.bu.BuAbstractPreferencesComponent; import com.memoire.bu.BuPreferences; import com.memoire.bu.BuTextField; +import com.memoire.bu.BuVerticalLayout; import java.awt.BorderLayout; import java.awt.Dimension; +import java.awt.FlowLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.JCheckBox; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.event.CaretEvent; @@ -20,8 +21,10 @@ * @author mar...@de... */ public class CtuluTablePreferencesComponent extends BuAbstractPreferencesComponent { - private static final String COORDS_EXPORT_DECIMAL_NUMBER="gis.coords.export.decimalnumber"; + public static final String COORDS_EXPORT_NB_DIGITS="gis.coords.export.nbdigits"; private BuTextField tfExport_; + private JLabel lbExport_; + private JCheckBox cbLimit_; private int exportNbDec; public CtuluTablePreferencesComponent() { @@ -29,18 +32,33 @@ tfExport_=BuTextField.createIntegerField(); tfExport_.setPreferredSize(new Dimension(80,tfExport_.getPreferredSize().height)); - JPanel pnExport=new JPanel(); - setLayout(new BorderLayout()); - add(new JLabel(CtuluLib.getS("Nombre de d\xE9cimales")),BorderLayout.CENTER); - add(tfExport_,BorderLayout.EAST); + lbExport_=new JLabel(CtuluLib.getS("Nombre de d\xE9cimales")); + JPanel pnDigits=new JPanel(); + pnDigits.setLayout(new FlowLayout(FlowLayout.LEFT)); + pnDigits.add(lbExport_,BorderLayout.CENTER); + pnDigits.add(tfExport_,BorderLayout.EAST); + cbLimit_=new JCheckBox(CtuluLib.getS("Limite du nombre de d\xE9cimales")); + setLayout(new BuVerticalLayout()); + add(cbLimit_); + add(pnDigits); + updateComponent(); tfExport_.addCaretListener(new CaretListener() { public void caretUpdate(CaretEvent e) { - valueHasChanged(); + setSavabled(tfExport_.getValue()!=null); + setModified(true); } }); + cbLimit_.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + tfExport_.setEnabled(cbLimit_.isSelected()); + lbExport_.setEnabled(cbLimit_.isSelected()); + setSavabled(!cbLimit_.isSelected() || tfExport_.getValue()!=null); + setModified(true); + } + }); } @Override @@ -48,11 +66,6 @@ return CtuluLib.getS("Export du tableau des valeurs"); } - private void valueHasChanged() { - setSavabled(tfExport_.getValue()!=null); - setModified(isSavabled() && !tfExport_.getValue().equals(exportNbDec)); - } - @Override public boolean isPreferencesValidable() { return true; @@ -68,8 +81,19 @@ */ @Override protected void updateComponent() { - exportNbDec=options_.getIntegerProperty(COORDS_EXPORT_DECIMAL_NUMBER, 3); - tfExport_.setValue(exportNbDec); + exportNbDec=options_.getIntegerProperty(COORDS_EXPORT_NB_DIGITS, -1); + if (exportNbDec==-1) { + tfExport_.setValue(3); + tfExport_.setEnabled(false); + lbExport_.setEnabled(false); + cbLimit_.setSelected(false); + } + else { + tfExport_.setValue(exportNbDec); + tfExport_.setEnabled(true); + lbExport_.setEnabled(true); + cbLimit_.setSelected(true); + } } /** @@ -78,6 +102,11 @@ @Override protected void updateProperties() { // Nombre de decimales pour l'export des coordonn\xE9es - options_.putIntegerProperty(COORDS_EXPORT_DECIMAL_NUMBER,(Integer)tfExport_.getValue()); + if (cbLimit_.isSelected()) { + options_.putIntegerProperty(COORDS_EXPORT_NB_DIGITS,(Integer)tfExport_.getValue()); + } + else { + options_.putIntegerProperty(COORDS_EXPORT_NB_DIGITS,-1); + } } } Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java 2011-06-15 13:55:11 UTC (rev 6297) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java 2011-06-15 15:40:22 UTC (rev 6298) @@ -1,7 +1,3 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ package org.fudaa.ebli.calque; import com.memoire.bu.BuAbstractPreferencesComponent; @@ -19,7 +15,7 @@ * @author mar...@de... */ public class EbliGISPreferencesComponent extends BuAbstractPreferencesComponent { - private static final String COORDS_VISU_DECIMAL_NUMBER ="gis.coords.visu.decimalnumber"; + public static final String COORDS_VISU_NB_DIGITS ="gis.coords.visu.nbdigits"; private BuTextField tfCoords_; private int visuNbDec; @@ -66,7 +62,7 @@ */ @Override protected void updateComponent() { - visuNbDec=options_.getIntegerProperty(COORDS_VISU_DECIMAL_NUMBER, 3); + visuNbDec=options_.getIntegerProperty(COORDS_VISU_NB_DIGITS, 3); tfCoords_.setValue(visuNbDec); } @@ -76,6 +72,6 @@ @Override protected void updateProperties() { // Nombre de decimales pour l'export des coordonn\xE9es - options_.putIntegerProperty(COORDS_VISU_DECIMAL_NUMBER,(Integer)tfCoords_.getValue()); + options_.putIntegerProperty(COORDS_VISU_NB_DIGITS,(Integer)tfCoords_.getValue()); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-06-16 11:41:34
|
Revision: 6301 http://fudaa.svn.sourceforge.net/fudaa/?rev=6301&view=rev Author: bmarchan Date: 2011-06-16 11:41:27 +0000 (Thu, 16 Jun 2011) Log Message: ----------- AME : Prise en compte du nombre de digits affich?\195?\169s pour les coordonn?\195?\169es Modified Paths: -------------- trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuContainerPreferencesPanel.java trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableAction.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliAdapteurSuiviSouris.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquePanelController.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleDonnees.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/action/CalqueActionTable.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicCoordinatesTableModel.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicsEditorPanel.java trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliTableInfoPanel.java Modified: trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuContainerPreferencesPanel.java =================================================================== --- trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuContainerPreferencesPanel.java 2011-06-15 19:38:41 UTC (rev 6300) +++ trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuContainerPreferencesPanel.java 2011-06-16 11:41:27 UTC (rev 6301) @@ -22,7 +22,7 @@ private String title_; private boolean isDirty_=false; - public BuContainerPreferencesPanel(BuAbstractPreferencesComponent[] _cmps, String _category, String _title) { + public BuContainerPreferencesPanel(String _category, String _title, BuAbstractPreferencesComponent[] _cmps) { cmps_=_cmps; category_=_category; title_=_title; Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java =================================================================== --- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java 2011-06-15 19:38:41 UTC (rev 6300) +++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java 2011-06-16 11:41:27 UTC (rev 6301) @@ -63,7 +63,7 @@ @Override public String getTitle() { - return CtuluLib.getS("Export du tableau des valeurs"); + return CtuluLib.getS("Export CSV du tableau des valeurs"); } @Override Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableAction.java =================================================================== --- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableAction.java 2011-06-15 19:38:41 UTC (rev 6300) +++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableAction.java 2011-06-16 11:41:27 UTC (rev 6301) @@ -23,6 +23,7 @@ import com.memoire.bu.BuMenu; import com.memoire.bu.BuResource; import com.memoire.bu.BuTable; +import org.fudaa.ctulu.CtuluNumberFormatDefault; import org.fudaa.ctulu.gui.CtuluPopupMenu; import org.fudaa.ctulu.gui.CtuluUIDialog; @@ -49,7 +50,7 @@ public void actionPerformed(final ActionEvent _e) { - final EbliTableInfoPanel pn = new EbliTableInfoPanel(new CtuluUIDialog(graphe_), this); + final EbliTableInfoPanel pn = new EbliTableInfoPanel(new CtuluUIDialog(graphe_), this, CtuluNumberFormatDefault.DEFAULT_FMT); pn.showInDialog(); } Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliAdapteurSuiviSouris.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliAdapteurSuiviSouris.java 2011-06-15 19:38:41 UTC (rev 6300) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliAdapteurSuiviSouris.java 2011-06-16 11:41:27 UTC (rev 6301) @@ -8,12 +8,16 @@ */ package org.fudaa.ebli.calque; +import java.text.DecimalFormat; import javax.swing.JLabel; import javax.units.SI; +import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.CtuluNumberFormatDefault; import org.fudaa.ebli.commun.EbliFormatter; import org.fudaa.ebli.commun.EbliFormatterInterface; +import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.repere.CoordonneesEvent; import org.fudaa.ebli.repere.CoordonneesListener; /** @@ -27,14 +31,21 @@ JLabel label_; // Les d\xE9finitions de coordonn\xE9es par defaut. - private EbliCoordinateDefinition[] defs_=new EbliCoordinateDefinition[]{ - new EbliCoordinateDefinition("X", new EbliFormatter(SI.METER)), - new EbliCoordinateDefinition("Y", new EbliFormatter(SI.METER)), - new EbliCoordinateDefinition("Z", new EbliFormatter(SI.METER)) - }; + private EbliCoordinateDefinition[] defs_; public EbliAdapteurSuiviSouris(final JLabel _label) { label_ = _label; + + defs_=new EbliCoordinateDefinition[]{ + new EbliCoordinateDefinition("X", new EbliFormatter(SI.METER)), + new EbliCoordinateDefinition("Y", new EbliFormatter(SI.METER)), + new EbliCoordinateDefinition("Z", new EbliFormatter(SI.METER)) + }; + + for (EbliCoordinateDefinition def : defs_) { + DecimalFormat fmt=CtuluLib.getDecimalFormat(EbliPreferences.EBLI.getIntegerProperty(EbliGISPreferencesComponent.COORDS_VISU_NB_DIGITS,2)); + ((CtuluNumberFormatDefault)def.getFormatter().getXYFormatter()).setFmt(fmt); + } } /** Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java 2011-06-15 19:38:41 UTC (rev 6300) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java 2011-06-16 11:41:27 UTC (rev 6301) @@ -1,7 +1,6 @@ package org.fudaa.ebli.calque; import com.memoire.bu.BuAbstractPreferencesComponent; -import com.memoire.bu.BuPreferences; import com.memoire.bu.BuTextField; import java.awt.BorderLayout; import java.awt.Dimension; @@ -9,6 +8,7 @@ import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ebli.commun.EbliPreferences; /** * Un composant pour les pr\xE9f\xE9rences d'export de valeurs en CVS/TXT @@ -20,7 +20,7 @@ private int visuNbDec; public EbliGISPreferencesComponent() { - options_=BuPreferences.BU; + options_=EbliPreferences.EBLI; tfCoords_=BuTextField.createIntegerField(); tfCoords_.setPreferredSize(new Dimension(80,tfCoords_.getPreferredSize().height)); @@ -62,7 +62,7 @@ */ @Override protected void updateComponent() { - visuNbDec=options_.getIntegerProperty(COORDS_VISU_NB_DIGITS, 3); + visuNbDec=options_.getIntegerProperty(COORDS_VISU_NB_DIGITS, 2); tfCoords_.setValue(visuNbDec); } Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquePanelController.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquePanelController.java 2011-06-15 19:38:41 UTC (rev 6300) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquePanelController.java 2011-06-16 11:41:27 UTC (rev 6301) @@ -432,7 +432,7 @@ }; l.add(infoPalette_); - l.add(new CalqueActionTable(pn_.getArbreCalqueModel(), ui_)); + l.add(new CalqueActionTable(pn_.getArbreCalqueModel(), ui_,pn_)); } standardActionGroup_ = new EbliActionInterface[l.size()]; l.toArray(standardActionGroup_); Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleDonnees.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleDonnees.java 2011-06-15 19:38:41 UTC (rev 6300) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZModeleDonnees.java 2011-06-16 11:41:27 UTC (rev 6301) @@ -22,6 +22,13 @@ */ public interface ZModeleDonnees { + /** + * Cr\xE9e la table pour le tableau des valeurs. Le tableau des valeurs contient + * les donn\xE9es du mod\xE8le, g\xE9om\xE9tries ou sommets. + * + * @param _layer Le calque associ\xE9 \xE0 this. + * @return Un tableau. + */ BuTable createValuesTable(ZCalqueAffichageDonneesInterface _layer); /** Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/action/CalqueActionTable.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/action/CalqueActionTable.java 2011-06-15 19:38:41 UTC (rev 6300) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/action/CalqueActionTable.java 2011-06-16 11:41:27 UTC (rev 6301) @@ -17,6 +17,7 @@ import org.fudaa.ctulu.CtuluUI; import org.fudaa.ebli.calque.BArbreCalqueModel; import org.fudaa.ebli.calque.BCalque; +import org.fudaa.ebli.calque.ZEbliCalquesPanel; import org.fudaa.ebli.commun.EbliActionSimple; import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.commun.EbliTableInfoPanel; @@ -30,18 +31,20 @@ BArbreCalqueModel model_; final CtuluUI ui_; + ZEbliCalquesPanel pnCalques_; - public CalqueActionTable(final BArbreCalqueModel _model,final CtuluUI _ui) { + public CalqueActionTable(final BArbreCalqueModel _model,final CtuluUI _ui, ZEbliCalquesPanel _pnCalques) { super(EbliLib.getS("Tableau des valeurs"), BuResource.BU.getToolIcon("tableau"), "TABLE"); model_ = _model; ui_ = _ui; + pnCalques_=_pnCalques; model_.addTreeSelectionListener(this); valueChanged(null); } public void actionPerformed(final ActionEvent _e){ final EbliTableInfoPanel t = new EbliTableInfoPanel(ui_, (EbliTableInfoTarget) model_ - .getSelectedCalque()); + .getSelectedCalque(),pnCalques_.getEbliFormatter().getXYFormatter()); t.showInDialog(); } Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicCoordinatesTableModel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicCoordinatesTableModel.java 2011-06-15 19:38:41 UTC (rev 6300) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicCoordinatesTableModel.java 2011-06-16 11:41:27 UTC (rev 6301) @@ -22,11 +22,13 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.editor.CtuluValueEditorDefaults; import org.fudaa.ctulu.editor.CtuluValueEditorI; import org.fudaa.ctulu.gis.GISAttributeModel; import org.fudaa.ctulu.gis.GISCoordinateSequence; import org.fudaa.ctulu.gis.GISZoneCollection; import org.fudaa.ctulu.gis.GISZoneCollectionPoint; +import org.fudaa.ctulu.gui.CtuluCellDoubleRenderer; import org.fudaa.ebli.calque.EbliCoordinateDefinition; import org.fudaa.ebli.commun.EbliLib; @@ -189,20 +191,27 @@ return selectedAtomic_ == null ? _rowIdx : selectedAtomic_[_rowIdx]; } - public void updateCellEditor(final JTable _table) { + public void updateEditorAndRenderer(final JTable _table) { final TableColumnModel cols = _table.getColumnModel(); // xy - TableCellEditor edx = coordDefs_[0].getFormatter().createTableEditorComponent(); - TableCellEditor edy = coordDefs_[1].getFormatter().createTableEditorComponent(); - cols.getColumn(1).setCellEditor(edx); - cols.getColumn(2).setCellEditor(edy); + TableCellEditor editorXY=CtuluValueEditorDefaults.DOUBLE_EDITOR.createTableEditorComponent(); + cols.getColumn(1).setCellEditor(editorXY); + cols.getColumn(2).setCellEditor(editorXY); + cols.getColumn(1).setCellRenderer(new CtuluCellDoubleRenderer(coordDefs_[0].getFormatter().getXYFormatter())); + cols.getColumn(2).setCellRenderer(new CtuluCellDoubleRenderer(coordDefs_[1].getFormatter().getXYFormatter())); + // les attribut if (modeles_ != null) { for (int i = 0; i < modeles_.length; i++) { + // L'editor final CtuluValueEditorI editor = modeles_[i].getAttribute().getEditor(); if (editor != null) { cols.getColumn(3 + i).setCellEditor(editor.createTableEditorComponent()); } + // Le renderer pour les Double + if (modeles_[i].getAttribute().getDataClass().equals(Double.class)) { + cols.getColumn(3+i).setCellRenderer(new CtuluCellDoubleRenderer(coordDefs_[0].getFormatter().getXYFormatter())); + } } } } @@ -300,7 +309,14 @@ @Override public Class<?> getColumnClass(int _columnIndex) { - if (_columnIndex < 3) return String.class; + switch (_columnIndex) { + case 0: + return Integer.class; + case 1: + return Double.class; + case 2: + return Double.class; + } final int idx = _columnIndex - 3; return getAtomicClass(_columnIndex - 3); } @@ -309,11 +325,11 @@ final int realIdx = getRealIdx(_rowIndex); switch (_columnIndex) { case 0: - return CtuluLibString.getString(realIdx + 1); + return realIdx+1; case 1: - return coordDefs_[0].getFormatter().getXYFormatter().format(getX(realIdx)); + return getX(realIdx); case 2: - return coordDefs_[1].getFormatter().getXYFormatter().format(getY(realIdx)); + return getY(realIdx); default: } final int idx = _columnIndex - 3; Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicsEditorPanel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicsEditorPanel.java 2011-06-15 19:38:41 UTC (rev 6300) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicsEditorPanel.java 2011-06-16 11:41:27 UTC (rev 6301) @@ -53,7 +53,7 @@ cmd_ = _cmd; table_ = new CtuluTable(); table_.setModel(tableModel_); - tableModel_.updateCellEditor(table_); + tableModel_.updateEditorAndRenderer(table_); setLayout(new BuBorderLayout()); add(new BuScrollPane(table_)); } Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliTableInfoPanel.java =================================================================== --- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliTableInfoPanel.java 2011-06-15 19:38:41 UTC (rev 6300) +++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliTableInfoPanel.java 2011-06-16 11:41:27 UTC (rev 6301) @@ -33,6 +33,7 @@ import com.memoire.bu.*; import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.CtuluNumberFormatI; import org.fudaa.ctulu.CtuluUI; import org.fudaa.ctulu.gui.CtuluCellTextDecimalRenderer; import org.fudaa.ctulu.gui.CtuluLibSwing; @@ -154,7 +155,7 @@ /** * @param _layer */ - public EbliTableInfoPanel(final CtuluUI _ui, final EbliTableInfoTarget _layer) { + public EbliTableInfoPanel(final CtuluUI _ui, final EbliTableInfoTarget _layer, CtuluNumberFormatI _fmt) { super(); target_ = _layer; ui_ = _ui; @@ -176,9 +177,10 @@ for (int i = 0; i < nb; i++) { TableColumn column = init.getColumn(i); int modelIdx = column.getModelIndex(); - if (table_.getModel().getColumnClass(modelIdx) == Double.class) { - column.setCellRenderer(new CtuluCellTextDecimalRenderer()); - + if (table_.getModel().getColumnClass(modelIdx).equals(Double.class)) { + CtuluCellTextDecimalRenderer renderer=new CtuluCellTextDecimalRenderer(); + renderer.setFormatter(_fmt); + column.setCellRenderer(renderer); } colModel_.addColumn(column); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-06-16 14:41:44
|
Revision: 6303 http://fudaa.svn.sourceforge.net/fudaa/?rev=6303&view=rev Author: bmarchan Date: 2011-06-16 14:41:33 +0000 (Thu, 16 Jun 2011) Log Message: ----------- Internationalization Modified Paths: -------------- trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt Modified: trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt =================================================================== --- trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2011-06-16 11:43:45 UTC (rev 6302) +++ trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2011-06-16 14:41:33 UTC (rev 6303) @@ -287,4 +287,7 @@ Portrait=Portrait payasage=landscape Exporter le tableau=Export table -Exporter le tableau au format csv ou excel=Export table in csv or excel format \ No newline at end of file +Exporter le tableau au format csv ou excel=Export table in csv or excel format +Export CSV du tableau des valeurs=CSV export of values table +Limite du nombre de d\xE9cimales=Limit the number of decimals +Nombre de d\xE9cimales=Number of decimals \ No newline at end of file Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java 2011-06-16 11:43:45 UTC (rev 6302) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java 2011-06-16 14:41:33 UTC (rev 6303) @@ -8,6 +8,7 @@ import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.commun.EbliPreferences; /** @@ -25,7 +26,7 @@ tfCoords_=BuTextField.createIntegerField(); tfCoords_.setPreferredSize(new Dimension(80,tfCoords_.getPreferredSize().height)); setLayout(new BorderLayout()); - add(new JLabel(CtuluLib.getS("Nombre de d\xE9cimales")),BorderLayout.CENTER); + add(new JLabel(EbliLib.getS("Nombre de d\xE9cimales")),BorderLayout.CENTER); add(tfCoords_,BorderLayout.EAST); updateComponent(); @@ -39,7 +40,7 @@ @Override public String getTitle() { - return CtuluLib.getS("Affichage des coordonn\xE9es"); + return EbliLib.getS("Affichage des coordonn\xE9es"); } private void valueHasChanged() { Modified: trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt =================================================================== --- trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt 2011-06-16 11:43:45 UTC (rev 6302) +++ trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt 2011-06-16 14:41:33 UTC (rev 6303) @@ -676,3 +676,6 @@ Le groupe {0} n'est pas reconnu, Il ne sera pas construit=The group of type {0} is unknown. It won't be shown Nom du titre=Title's name Nom de l'unit\xE9=Unit's name +Cartographie=Cartography +Affichage des coordonn\xE9es=Coordinates display +Nombre de d\xE9cimales=Number of decimals \ 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...> - 2011-06-23 21:21:30
|
Revision: 6314 http://fudaa.svn.sourceforge.net/fudaa/?rev=6314&view=rev Author: deniger Date: 2011-06-23 21:21:24 +0000 (Thu, 23 Jun 2011) Log Message: ----------- Modified Paths: -------------- trunk/framework/ctulu-gis/pom.xml trunk/framework/pom.xml Modified: trunk/framework/ctulu-gis/pom.xml =================================================================== --- trunk/framework/ctulu-gis/pom.xml 2011-06-23 21:10:14 UTC (rev 6313) +++ trunk/framework/ctulu-gis/pom.xml 2011-06-23 21:21:24 UTC (rev 6314) @@ -20,11 +20,11 @@ </dependency> <dependency> <groupId>javax.media</groupId> - <artifactId>jai-core</artifactId> + <artifactId>jai_core</artifactId> </dependency> <dependency> - <groupId>com.sun.media</groupId> - <artifactId>jai-codec</artifactId> + <groupId>javax.media</groupId> + <artifactId>jai_codec</artifactId> </dependency> <dependency> <groupId>junit</groupId> Modified: trunk/framework/pom.xml =================================================================== --- trunk/framework/pom.xml 2011-06-23 21:10:14 UTC (rev 6313) +++ trunk/framework/pom.xml 2011-06-23 21:21:24 UTC (rev 6314) @@ -288,12 +288,12 @@ </dependency> <dependency> <groupId>javax.media</groupId> - <artifactId>jai-core</artifactId> + <artifactId>jai_core</artifactId> <version>1.1.3</version> </dependency> <dependency> - <groupId>com.sun.media</groupId> - <artifactId>jai-codec</artifactId> + <groupId>javax.media</groupId> + <artifactId>jai_codec</artifactId> <version>1.1.3</version> </dependency> <dependency> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-07-05 09:25:35
|
Revision: 6319 http://fudaa.svn.sourceforge.net/fudaa/?rev=6319&view=rev Author: bmarchan Date: 2011-07-05 09:25:29 +0000 (Tue, 05 Jul 2011) Log Message: ----------- Fix : Pb de selection des points construits Modified Paths: -------------- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISZoneCollectionPoint.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java Modified: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISZoneCollectionPoint.java =================================================================== --- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISZoneCollectionPoint.java 2011-07-01 07:42:31 UTC (rev 6318) +++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISZoneCollectionPoint.java 2011-07-05 09:25:29 UTC (rev 6319) @@ -24,6 +24,9 @@ /** * Une collection contenant des points GIS.<p> * Ces points peuvent comporter des attributs, dont les valeurs sont stock\xE9es dans des {@link GISAttributeModel}. + * + * Fix BM : Devrait d\xE9river de GISZoneCollectionGeometry + * * @author Fred Deniger * @version $Id: GISZoneCollectionPoint.java,v 1.15.6.1 2008-02-01 14:42:44 bmarchan Exp $ */ Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java 2011-07-01 07:42:31 UTC (rev 6318) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModelePointEditable.java 2011-07-05 09:25:29 UTC (rev 6319) @@ -32,6 +32,7 @@ import com.memoire.bu.BuTable; import com.vividsolutions.jts.geom.CoordinateSequence; import com.vividsolutions.jts.geom.Envelope; +import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.Point; import org.fudaa.ctulu.gis.CtuluLibGeometrie; import org.fudaa.ctulu.table.CtuluTable; @@ -201,6 +202,22 @@ // final Envelope e = pts_.getEnvelopeInternal(); // return new GrBoite(new GrPoint(e.getMinX(), e.getMinY(), 0), new GrPoint(e.getMaxX(), e.getMaxY(), 0)); // } + @Override + public GrBoite getDomaine() { + if (pts_ == null || pts_.getNumGeometries() == 0) { + return null; + } + GrBoite bt=null; + for (int i=pts_.getNumGeometries()-1; i>=0; i--) { + if (isGeometryVisible(i)) { + final Geometry g = pts_.getGeometry(i); + final Envelope e = g.getEnvelopeInternal(); + if (bt==null) bt=new GrBoite(); + bt.ajuste(e); + } + } + return bt; + } public void fillWithInfo(final InfoData _d, final ZCalqueAffichageDonneesInterface _layer) { _d.setTitle(_layer.getTitle()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-07-05 09:28:49
|
Revision: 6321 http://fudaa.svn.sourceforge.net/fudaa/?rev=6321&view=rev Author: bmarchan Date: 2011-07-05 09:28:42 +0000 (Tue, 05 Jul 2011) Log Message: ----------- Add : Tri possible sur les geometries d'un calque. Modified Paths: -------------- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesCommonEditorPanel.java trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesEditorPanel.java trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesMultiEditorPanel.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorDefault.java Added Paths: ----------- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsEditorPanel.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsMultiEditorPanel.java Removed Paths: ------------- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/GISGuiBuilder.java Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesCommonEditorPanel.java =================================================================== --- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesCommonEditorPanel.java 2011-07-05 09:27:45 UTC (rev 6320) +++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesCommonEditorPanel.java 2011-07-05 09:28:42 UTC (rev 6321) @@ -19,6 +19,8 @@ import com.memoire.bu.BuGridLayout; import com.memoire.bu.BuTextField; +import java.awt.BorderLayout; +import javax.swing.JPanel; import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.CtuluCommandContainer; @@ -122,7 +124,9 @@ if (editors_.length != values_.length) { throw new IllegalArgumentException("same size required"); } - setLayout(new BuGridLayout(2, 5, 5)); + + JPanel pnAttrs=new JPanel(); + pnAttrs.setLayout(new BuGridLayout(2, 5, 5)); comps_ = new JComponent[editors_.length]; lbs_ = new JLabel[editors_.length]; oldValues_ = new Object[lbs_.length]; @@ -142,10 +146,27 @@ } lbs_[i] = new JLabel(_names[i].toString()); lbs_[i].setLabelFor(comps_[i]); - add(lbs_[i]); - add(comps_[i]); + pnAttrs.add(lbs_[i]); + pnAttrs.add(comps_[i]); } + setLayout(new BorderLayout()); + add(pnAttrs); } + + /** + * Definit les indice selectionn\xE9s + * @param _idx Les indices + */ + public void setIdx(int[] _idx) { + idx_=_idx; + for (int i = 0; i < comps_.length; i++) { + final boolean isCommon = (CtuluLibArray.isEmpty(_idx) || idx_.length == 1) ? true : values_[i].isSameValues(idx_); + if (isCommon) { + oldValues_[i] = values_[i].getObjectValueAt(_idx == null ? 0 : _idx[0]); + editors_[i].setValue(oldValues_[i], comps_[i]); + } + } + } protected CtuluCommandComposite internApply() { final CtuluCommandComposite cmp = new CtuluCommandComposite(); Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesEditorPanel.java =================================================================== --- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesEditorPanel.java 2011-07-05 09:27:45 UTC (rev 6320) +++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesEditorPanel.java 2011-07-05 09:28:42 UTC (rev 6321) @@ -18,6 +18,8 @@ import com.memoire.bu.BuHorizontalLayout; import com.memoire.bu.BuPanel; import com.memoire.bu.BuRadioButton; +import com.memoire.bu.BuVerticalLayout; +import javax.swing.JPanel; import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluLib; @@ -30,15 +32,17 @@ */ public class CtuluValuesEditorPanel extends CtuluDialogPanel { - CtuluValuesCommonEditorPanel common_; + protected CtuluValuesCommonEditorPanel common_; CtuluDialogPanel current_; - CtuluValuesMultiEditorPanel multi_; + protected CtuluValuesMultiEditorPanel multi_; JDialog parent_; BuRadioButton rdCommon_; + protected JPanel pnNorth_; + public CtuluValuesEditorPanel(final CtuluValuesParameters _params, final CtuluCommandContainer _cmd) { this(_params.getNames(), _params.getIdx(), _params.getEditors(), _params.getValues(), _cmd); @@ -56,7 +60,16 @@ */ public CtuluValuesEditorPanel(final Object[] _names, final int[] _idx, final CtuluValueEditorI[] _editors, final CtuluCollection[] _values, final CtuluCommandContainer _cmd) { - multi_ = new CtuluValuesMultiEditorPanel(_names, _idx, _editors, _values); + this(new CtuluValuesMultiEditorPanel(_names, _idx, _editors, _values), _cmd); + } + + /** + * Constructeur, avec le panneau des valeurs d\xE9ja construit. + * @param _pn Le panneau des valeurs. + * @param _cmd Le manager undo/redo + */ + public CtuluValuesEditorPanel(final CtuluValuesMultiEditorPanel _pn, final CtuluCommandContainer _cmd) { + multi_ = _pn; init(_cmd); } @@ -94,7 +107,10 @@ }); pn.setBorder(BorderFactory.createTitledBorder(CtuluLib.getS("Mode d'\xE9dition"))); - add(pn, BuBorderLayout.NORTH); + pnNorth_=new JPanel(); + pnNorth_.setLayout(new BuVerticalLayout()); + pnNorth_.add(pn); + add(pnNorth_, BuBorderLayout.NORTH); } @@ -126,10 +142,12 @@ parent_ = _parent; } + @Override public void apply() { current_.apply(); } + @Override public boolean isDataValid() { return current_.isDataValid(); } Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesMultiEditorPanel.java =================================================================== --- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesMultiEditorPanel.java 2011-07-05 09:27:45 UTC (rev 6320) +++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesMultiEditorPanel.java 2011-07-05 09:28:42 UTC (rev 6321) @@ -7,8 +7,6 @@ */ package org.fudaa.ctulu.gui; -import gnu.trove.TIntObjectHashMap; -import gnu.trove.TIntObjectIterator; import java.awt.Color; import java.awt.Component; @@ -20,6 +18,8 @@ import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuScrollPane; +import java.util.ArrayList; +import java.util.List; import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.CtuluCommandContainer; @@ -30,27 +30,66 @@ import org.fudaa.ctulu.table.CtuluTable; /** - * @author Fred Deniger + * Un editeur de collections de valeurs. + * + * @author Fred Deniger, mar...@de... * @version $Id: CtuluValuesMultiEditorPanel.java,v 1.12 2007-03-09 08:37:37 deniger Exp $ */ public class CtuluValuesMultiEditorPanel extends CtuluDialogPanel { - final CtuluValueEditorI[] editors_; + protected final CtuluValueEditorI[] editors_; + protected final CtuluCollection[] values_; + protected final Object[] title_; + /** Les seuls indices de mod\xE8le selectionn\xE9s \xE0 l'origine */ + protected int[] idxMdlSel_; + /** Les lignes, dans l'ordre */ + protected List<Row> rows_; + protected JTable table_; + protected CtuluCommandContainer cmd_; + protected ValueTableModel model_; + + /** + * Une ligne du tableau, sans la colonne des indices. + */ + protected class Row { + /** Les valeurs initiales des cellules correspondantes aux attributs */ + private Object[] cells_; + /** Les valeurs modifi\xE9es, null si pas modifi\xE9e */ + private Object[] modCells_; - final CtuluCollection[] values_; + public Row(Object[] _values) { + cells_=_values; + } + + public void setValue(Object _obj, int _col) { + if (modCells_==null) + modCells_=new Object[cells_.length]; + + if (cells_[_col].equals(_obj)) + modCells_[_col]=null; + else + modCells_[_col]=_obj; + } + + public Object getValue(int _col) { + if (modCells_!=null && modCells_[_col]!=null) + return modCells_[_col]; + else + return cells_[_col]; + } + + public boolean isModified(int _col) { + return modCells_!=null && modCells_[_col]!=null; + } + } - final Object[] title_; - - final int[] idx_; - - CtuluCommandContainer cmd_; - + /** + * Le modele du tableau. + */ class ValueTableModel extends AbstractTableModel { - TIntObjectHashMap[] realIdxnewValues_; - private int getRealIdx(final int _rowIdx) { - return idx_[_rowIdx]; + return convertViewToMdlIdx(_rowIdx); } public int getColumnCount() { @@ -72,7 +111,7 @@ } public int getRowCount() { - return idx_.length; + return idxMdlSel_.length; } public boolean isCellEditable(final int _rowIndex, final int _columnIndex) { @@ -91,57 +130,20 @@ return; } final int realIdx = getRealIdx(_rowIndex); - if (_value == null || _value.equals(values_[var].getObjectValueAt(realIdx))) { - if (realIdxnewValues_ != null && realIdxnewValues_[var] != null) { - realIdxnewValues_[var].remove(realIdx); - } - return; - - } - if (realIdxnewValues_ == null) { - realIdxnewValues_ = new TIntObjectHashMap[editors_.length]; - } - - if (realIdxnewValues_[var] == null) { - realIdxnewValues_[var] = new TIntObjectHashMap(idx_.length); - } - realIdxnewValues_[var].put(realIdx, _value); + rows_.get(realIdx).setValue(_value, var); } - public void apply() { - if (realIdxnewValues_ != null) { - final CtuluCommandComposite cmp = new CtuluCommandComposite(); - for (int i = realIdxnewValues_.length - 1; i >= 0; i--) { - if (realIdxnewValues_[i] != null) { - final TIntObjectIterator it = realIdxnewValues_[i].iterator(); - for (int k = realIdxnewValues_[i].size(); k-- > 0;) { - it.advance(); - values_[i].setObject(it.key(), it.value(), cmp); - } - } - } - if (cmd_ != null) { - cmd_.addCmd(cmp.getSimplify()); - } - } - } - public boolean isModified(final int _rowIndex, final int _columnIndex) { final int realIdx = getRealIdx(_rowIndex); - final int var = _columnIndex - 1; - return realIdxnewValues_ != null && realIdxnewValues_[var] != null && realIdxnewValues_[var].contains(realIdx); + return rows_.get(realIdx).isModified(_columnIndex-1); } public Object getValueAt(final int _rowIndex, final int _columnIndex) { final int realIdx = getRealIdx(_rowIndex); if (_columnIndex == 0) { - return CtuluLibString.getString(realIdx + 1); + return CtuluLibString.getString(idxMdlSel_[_rowIndex]+1); } - final int var = _columnIndex - 1; - if (realIdxnewValues_ != null && realIdxnewValues_[var] != null && realIdxnewValues_[var].contains(realIdx)) { - return realIdxnewValues_[var].get(realIdx); - } - return values_[var].getObjectValueAt(realIdx); + return rows_.get(realIdx).getValue(_columnIndex-1); } } @@ -159,21 +161,21 @@ cmd_ = _cmd; } - ValueTableModel model_; - /** * @param _names les noms (non null) - * @param _idx les indices a modifier. + * @param _idxMdlSel les indices s\xE9lectionn\xE9s. * @param _editors les editeurs * @param _values les valeurs (meme taille que les editeurs) */ - public CtuluValuesMultiEditorPanel(final Object[] _names, final int[] _idx, final CtuluValueEditorI[] _editors, + public CtuluValuesMultiEditorPanel(final Object[] _names, final int[] _idxMdlSel, final CtuluValueEditorI[] _editors, final CtuluCollection[] _values) { editors_ = _editors; values_ = _values; title_ = _names; - idx_ = _idx; + idxMdlSel_ = _idxMdlSel; + init(); + buildRows(); } public CtuluValuesMultiEditorPanel(final CtuluValuesParameters _params) { @@ -181,19 +183,49 @@ } public CtuluValuesCommonEditorPanel createCommon() { - final CtuluValuesCommonEditorPanel res = new CtuluValuesCommonEditorPanel(title_, idx_, editors_, values_); + final CtuluValuesCommonEditorPanel res = new CtuluValuesCommonEditorPanel(title_, idxMdlSel_, editors_, values_); res.setCmd(cmd_); return res; } - - protected final void init() { + + /** + * @return La selection initiale + */ + public int[] getSelectedIndexes() { + return idxMdlSel_; + } + + /** + * Construit les lignes. + */ + private void buildRows() { + rows_=new ArrayList<Row>(); + for (int i=0; i<values_[0].getSize(); i++) { + Object[] cells=new Object[values_.length]; + for (int j=0; j<cells.length; j++) { + cells[j]=values_[j].getObjectValueAt(i); + } + addRow(cells); + } + } + + protected void addRow(Object[] _cells) { + rows_.add(new Row(_cells)); + } + + protected int convertViewToMdlIdx(int _idx) { + return idxMdlSel_[_idx]; + } + + protected void init() { if (editors_.length != values_.length) { throw new IllegalArgumentException("same size required"); } setLayout(new BuBorderLayout()); + model_ = new ValueTableModel(); table_ = new CtuluTable(); - table_.setCellSelectionEnabled(true); + table_.setRowSelectionAllowed(true); table_.setModel(model_); final TableColumnModel model = table_.getColumnModel(); final CtuluCellTextRenderer render = new CtuluCellTextRenderer() { @@ -220,14 +252,23 @@ add(new BuScrollPane(table_), BuBorderLayout.CENTER); } - JTable table_; - public void apply() { // on arrete la saisie avant d'appliquer les modifs if (table_.isEditing()) { table_.getCellEditor().stopCellEditing(); } - model_.apply(); + + // Mise a jour des champs. + final CtuluCommandComposite cmp=new CtuluCommandComposite(CtuluLib.getS("Edition des g\xE9om\xE9tries")); + for (int irow=0; irow < rows_.size(); irow++) { + for (int icol=0; icol < values_.length; icol++) { + if (rows_.get(irow).isModified(icol)) { + values_[icol].setObject(irow, rows_.get(irow).getValue(icol), cmp); + } + } + } + if (cmd_ != null) { + cmd_.addCmd(cmp.getSimplify()); + } } - } Added: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsEditorPanel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsEditorPanel.java (rev 0) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsEditorPanel.java 2011-07-05 09:28:42 UTC (rev 6321) @@ -0,0 +1,55 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.fudaa.ebli.calque.edition; + +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import javax.swing.JCheckBox; +import org.fudaa.ctulu.CtuluCommandContainer; +import org.fudaa.ctulu.gis.GISZoneCollection; +import org.fudaa.ctulu.gui.CtuluValuesEditorPanel; +import org.fudaa.ebli.commun.EbliLib; + +/** + * Un editeur pour plusieurs objets d'un meme calque. + * Cet editeur permet de modifier les valeurs des g\xE9om\xE9tries, mais aussi de + * trier les g\xE9om\xE9tries dans le calque. + * + * @author mar...@de... + */ +public class EbliObjetsEditorPanel extends CtuluValuesEditorPanel { + + /** + * Constructeur. + * @param _zone La collection contenant les g\xE9om\xE9tries. + * @param _idx Les indices des objets selectionn\xE9s. + * @param _cmd Le manager undo/redo + */ + public EbliObjetsEditorPanel(final GISZoneCollection _zone, final int[] _idx, final CtuluCommandContainer _cmd) { + super(new EbliObjetsMultiEditorPanel(_zone,_idx),_cmd); + decorePanel(); + } + + /** + * Ajoute au panneau une checkbox pour switcher de la selection a toutes les g\xE9om\xE9tries + */ + private void decorePanel() { + final JCheckBox cbAllGeom=new JCheckBox(EbliLib.getS("Sur tous les \xE9lements du calque"),false); + cbAllGeom.addItemListener(new ItemListener() { + public void itemStateChanged(ItemEvent e) { + ((EbliObjetsMultiEditorPanel)multi_).setFiltered(cbAllGeom.isSelected()); + if (common_!=null) common_.setIdx(((EbliObjetsMultiEditorPanel)multi_).getSelectedIndexes()); + } + }); + pnNorth_.add(cbAllGeom); + } + + /** + * @return True Si des valeurs sont \xE9ditables. + */ + public boolean hasEditableData() { + return ((EbliObjetsMultiEditorPanel)multi_).hasEditableData(); + } +} Property changes on: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsEditorPanel.java ___________________________________________________________________ Added: svn:keywords + Id Added: svn:eol-style + native Copied: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsMultiEditorPanel.java (from rev 6315, trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesMultiEditorPanel.java) =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsMultiEditorPanel.java (rev 0) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsMultiEditorPanel.java 2011-07-05 09:28:42 UTC (rev 6321) @@ -0,0 +1,513 @@ +/* + * @creation 20 avr. 2005 + * @modification $Date: 2007-03-09 08:37:37 $ + * @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.edition; + + + + +import com.memoire.bu.BuButton; +import com.memoire.bu.BuLabel; +import com.memoire.bu.BuResource; +import com.memoire.bu.BuVerticalLayout; +import java.awt.BorderLayout; +import java.awt.FlowLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import javax.swing.BorderFactory; +import javax.swing.JComboBox; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; +import org.fudaa.ctulu.CtuluCommandComposite; +import org.fudaa.ctulu.CtuluLib; + +import org.fudaa.ctulu.collection.CtuluCollection; +import org.fudaa.ctulu.editor.CtuluValueEditorDefaults; +import org.fudaa.ctulu.editor.CtuluValueEditorI; +import org.fudaa.ctulu.gis.GISAttributeInterface; +import org.fudaa.ctulu.gis.GISAttributeModel; +import org.fudaa.ctulu.gis.GISZoneCollection; +import org.fudaa.ctulu.gis.GISZoneCollectionPoint; +import org.fudaa.ctulu.gui.CtuluValuesMultiEditorPanel; +import org.fudaa.ctulu.gui.CtuluValuesParameters; +import org.fudaa.ctulu.gui.CtuluValuesParametersDefault; + +/** + * Un editeur pour les g\xE9om\xE9tries d'un calque. Permet l'\xE9dition des g\xE9om\xE9tries + * et leur reordonnancement. + * + * @author mar...@de... + * @version $Id: CtuluValuesMultiEditorPanel.java,v 1.12 2007-03-09 08:37:37 deniger Exp $ + */ +public class EbliObjetsMultiEditorPanel extends CtuluValuesMultiEditorPanel { + + private BuButton btUp_; + private BuButton btDown_; + private JComboBox cbSort_; + private BuButton btInvertSort_; + /** True : Seules les g\xE9om\xE9tries s\xE9lectionn\xE9es sont prisent en compte */ + private boolean isFiltered_=true; + private GISZoneCollection zone_; + /** Indice de zone vers sortable row */ + private HashMap<Integer,SortableRow> ind2Row=new HashMap<Integer, SortableRow>(); + /** Les comparateurs pour chaque colonne */ + private final List<ValueRowComparator> comparators_; + private final int[] idxInitMdlSel_; + + /** + * Une ligne triable du tableau + */ + class SortableRow extends Row { + /** L'index dans la zone */ + private int indZone; + + public SortableRow(int _ind, Object[] _values) { + super(_values); + indZone=_ind; + } + } + + /** + * Un comparateur de lignes du tableau. Permet le tri initial + */ + class InitialRowComparator implements Comparator<Row> { + public int compare(Row o1, Row o2) { + return ((SortableRow)o1).indZone-((SortableRow)o2).indZone; + } + } + + /** + * Un comparateur de lignes du tableau, suivant la colonne choisie. + */ + class ValueRowComparator implements Comparator<Row> { + private int sortableColumn=0; + private Comparator comparator_; + + public ValueRowComparator(int _col, Comparator _comp) { + sortableColumn=_col; + comparator_=_comp; + } + + public int compare(Row o1, Row o2) { + return comparator_.compare(o1.getValue(sortableColumn), o2.getValue(sortableColumn)); + } + } + + /** + * @param _zone La collection des g\xE9om\xE9tries. + * @param _idx Les indices selectionn\xE9s. + */ + public EbliObjetsMultiEditorPanel(GISZoneCollection _zone, final int[] _idx) { + super(buildParams(_zone, _idx)); + + zone_=_zone; + idxInitMdlSel_=_idx; + + for (Row row : rows_) { + SortableRow sr=(SortableRow)row; + ind2Row.put(sr.indZone, sr); + } + + comparators_=new ArrayList(); + buildComparators(); + decorePanel(); + } + + /** + * Contruit les param\xE8tres pour la classe mere depuis la collection. + * @param _zone La collection + * @param _idx Les indices selectionn\xE9s + * @return Les param\xE8tres. + */ + private static CtuluValuesParameters buildParams(final GISZoneCollection _zone, final int[] _idx) { + CtuluValuesParametersDefault params=new CtuluValuesParametersDefault(); + + final List<String> names=new ArrayList<String>(_zone.getNbAttributes() + 2); + final List<CtuluValueEditorI> editor=new ArrayList<CtuluValueEditorI>(names.size()); + final List<CtuluCollection> model=new ArrayList<CtuluCollection>(names.size()); + + // Pour une collection de points + if (_zone instanceof GISZoneCollectionPoint) { + GISZoneCollectionPoint ptZone=(GISZoneCollectionPoint)_zone; + + names.add("X"); + names.add("Y"); + editor.add(CtuluValueEditorDefaults.DOUBLE_EDITOR); + editor.add(CtuluValueEditorDefaults.DOUBLE_EDITOR); + model.add(ptZone.createEditForX()); + model.add(ptZone.createEditForY()); + for (int i=0; i < ptZone.getNbAttributes(); i++) { + // FIXME BM: G\xE9rer attribut non visible. + if (ptZone.getAttribute(i).isEditable()) { + names.add(ptZone.getAttribute(i).getName()); + editor.add(ptZone.getAttribute(i).getEditor()); + model.add(ptZone.getDataModel(i)); + } + } + } + + // Pour tout autre type + else { + final int nbAtt=_zone.getNbAttributes(); + for (int i=0; i < nbAtt; i++) { + final GISAttributeInterface att=_zone.getAttribute(i); + // FIXME BM: G\xE9rer attribut non visible. + if (!att.isAtomicValue() && att.isEditable()) { + names.add(att.getName()); + editor.add(att.getEditor()); + model.add(_zone.getDataModel(i)); + } + } + params.editors_=new CtuluValueEditorI[editor.size()]; + params.names_=new String[names.size()]; + params.values_=new GISAttributeModel[model.size()]; + + } + + params.idx_=_idx; + params.names_=names.toArray(new String[0]); + params.editors_=editor.toArray(new CtuluValueEditorI[0]); + params.values_=model.toArray(new CtuluCollection[0]); + + return params; + } + + /** + * Construit les comparateurs pour chaque colonne. + */ + private void buildComparators() { + // Pour une collection de points + if (zone_ instanceof GISZoneCollectionPoint) { + // Comparateur pour X + comparators_.add(new ValueRowComparator(comparators_.size(),new Comparator<Double>() { + public int compare(Double o1, Double o2) { + return o1.compareTo(o2); + } + })); + // Comparateur pour Y + comparators_.add(new ValueRowComparator(comparators_.size(),new Comparator<Double>() { + public int compare(Double o1, Double o2) { + return o1.compareTo(o2); + } + })); + // Les autres comparateurs + for (int i=0; i < zone_.getNbAttributes(); i++) { + final GISAttributeInterface att=zone_.getAttribute(i); + // FIXME BM: G\xE9rer attribut non visible. + if (att.isEditable()) { + comparators_.add(new ValueRowComparator(comparators_.size(), att.getComparator())); + } + } + } + // Pour toute autre liste + else { + for (int i=0; i < zone_.getNbAttributes(); i++) { + final GISAttributeInterface att=zone_.getAttribute(i); + // FIXME BM: G\xE9rer attribut non visible. + if (!att.isAtomicValue() && att.isEditable()) { + comparators_.add(new ValueRowComparator(comparators_.size(), att.getComparator())); + } + } + } + } + + @Override + public void addRow(Object[] _cells) { + rows_.add(new SortableRow(rows_.size(), _cells)); + } + + private void initialSort() { + int[] idxMdl=convertViewToZoneIdx(table_.getSelectedRows()); + + Collections.sort(rows_, new InitialRowComparator()); + + int[] idxSel=convertZoneToViewIdx(idxMdl); + resetSelection(idxSel); + } + + private void columnSort(int _col) { + int[] idxMdl=convertViewToZoneIdx(table_.getSelectedRows()); + + Collections.sort(rows_, new InitialRowComparator()); // Pour remettre dans un ordre de depart. + Collections.sort(rows_, comparators_.get(_col-1)); + + int[] idxSel=convertZoneToViewIdx(idxMdl); + resetSelection(idxSel); + } + + private void invertSort() { + int[] idxMdl=convertViewToZoneIdx(table_.getSelectedRows()); + + for (int i=0; i<rows_.size()/2; i++) { + Row tmp=rows_.get(i); + rows_.set(i, rows_.get(rows_.size()-1-i)); + rows_.set(rows_.size()-1-i,tmp); + } + + int[] idxSel=convertZoneToViewIdx(idxMdl); + resetSelection(idxSel); + } + + private void upIndexes() { + int[] idxSel=table_.getSelectedRows(); + int[] idxMdl=convertViewToZoneIdx(idxSel); + + for (int i=0; i<idxSel.length; i++) { + if (idxSel[i]>i) { + Row tmp=rows_.get(idxSel[i]-1); + rows_.set(idxSel[i]-1,rows_.get(idxSel[i])); + rows_.set(idxSel[i],tmp); + } + } + + idxSel=convertZoneToViewIdx(idxMdl); + resetSelection(idxSel); + } + + private void downIndexes() { + int[] idxSel=table_.getSelectedRows(); + int[] idxMdl=convertViewToZoneIdx(idxSel); + + for (int i=idxSel.length-1; i>=0; i--) { + if (idxSel[i]<rows_.size()-idxSel.length+i) { + Row tmp=rows_.get(idxSel[i]); + rows_.set(idxSel[i],rows_.get(idxSel[i]+1)); + rows_.set(idxSel[i]+1,tmp); + } + } + + idxSel=convertZoneToViewIdx(idxMdl); + resetSelection(idxSel); + } + + private void resetSelection(int[] _idxSel) { + table_.getSelectionModel().clearSelection(); + for (int i=0; i<_idxSel.length; i++) { + table_.getSelectionModel().addSelectionInterval(_idxSel[i], _idxSel[i]); + } + } + + /** + * Filtre ou non sur la selection + * @param _b True : N'affiche que la selection. False : Toutes les geometries du calque. + */ + public void setFiltered(boolean _b) { + isFiltered_ = !_b; + if (isFiltered_) { + idxMdlSel_=convertZoneToViewIdx(idxInitMdlSel_); + } + else { + idxMdlSel_=new int[rows_.size()]; + for (int i=0; i<idxMdlSel_.length; i++) idxMdlSel_[i]=i; + } + + btInvertSort_.setEnabled(!isFiltered_); + cbSort_.setEnabled(!isFiltered_); + tableSelectionChanged(); + + table_.revalidate(); + table_.repaint(); + } + + /** + * Verifie qu'il existe bien des geometries modifiables. + * @return True : Des g\xE9om\xE9tries sont modifiables. + */ + public boolean hasEditableData() { + return title_.length>0; + } + + /** + * Convertit les index de vue vers les indexs de la zone + * @param _idx Les index de vue + * @return Les index de la zone + */ + private int[] convertViewToZoneIdx(int[] _idx) { + int[] idx=new int[_idx.length]; + + for (int i=0; i<_idx.length; i++) { + idx[i]=((SortableRow)rows_.get(_idx[i])).indZone; + } + return idx; + } + + /** + * Converti les index de zone vers les index de vue. + * @param _idx Les index de zone + * @return Les index de vue. Attention, en cas de filtre, certains indices + * retourn\xE9s peuvent valoir -1 (si l'indice zone n'est pas visualis\xE9). + */ + private int[] convertZoneToViewIdx(int... _idx) { + int[] idx=new int[_idx.length]; + + for (int i=0; i<_idx.length; i++) { + idx[i]=rows_.indexOf(ind2Row.get(_idx[i])); + } + return idx; + } + + private void tableSelectionChanged() { + btUp_.setEnabled(!isFiltered_ && table_.getSelectedRowCount() != 0); + btDown_.setEnabled(!isFiltered_ && table_.getSelectedRowCount() != 0); + } + + private void btUpActionPerformed() { + if (table_.isEditing()) { + table_.getCellEditor().stopCellEditing(); + } + upIndexes(); + table_.revalidate(); + table_.repaint(); + cbSort_.setSelectedIndex(0); + } + + private void btDownActionPerformed() { + if (table_.isEditing()) { + table_.getCellEditor().stopCellEditing(); + } + downIndexes(); + table_.revalidate(); + table_.repaint(); + cbSort_.setSelectedIndex(0); + } + + private void btInvertActionPerformed() { + if (table_.isEditing()) { + table_.getCellEditor().stopCellEditing(); + } + invertSort(); + table_.revalidate(); + table_.repaint(); + cbSort_.setSelectedIndex(0); + } + + private void cbSortActionPerformed() { + if (cbSort_.getSelectedIndex() == 1) { + initialSort(); + } + // Tri par comparateur de colonne + else if (cbSort_.getSelectedIndex()>1) { + columnSort(cbSort_.getSelectedIndex()-1); + } + table_.revalidate(); + table_.repaint(); + } + + /** + * Ajoute des options de r\xE9ordonnancement \xE0 l'editeur g\xE9n\xE9rique. + */ + private void decorePanel() { + table_.getSelectionModel().addListSelectionListener(new ListSelectionListener() { + public void valueChanged(ListSelectionEvent e) { + tableSelectionChanged(); + } + }); + + btUp_=new BuButton(BuResource.BU.getIcon(CtuluLib.getS("monter"))); + btUp_.setToolTipText(CtuluLib.getS("D\xE9cr\xE9menter l'index")); + btDown_=new BuButton(BuResource.BU.getIcon(CtuluLib.getS("descendre"))); + btDown_.setToolTipText(CtuluLib.getS("Incr\xE9menter l'index")); + btUp_.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + btUpActionPerformed(); + } + }); + btDown_.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + btDownActionPerformed(); + } + }); + + JPanel pnMove=new JPanel(); + pnMove.setLayout(new FlowLayout(FlowLayout.LEFT, 2, 0)); + pnMove.add(new BuLabel(CtuluLib.getS("Changer l'ordre des g\xE9om\xE9tries"))); + pnMove.add(btUp_); + pnMove.add(btDown_); + + JLabel lbSort=new JLabel(CtuluLib.getS("Trier les g\xE9om\xE9tries suivant")); + cbSort_=new JComboBox(); + cbSort_.addItem(""); + cbSort_.addItem("<"+CtuluLib.getS("Ordre initial")+">"); + for (Object title : title_) { + cbSort_.addItem(title.toString()); + } + cbSort_.setEnabled(false); + cbSort_.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + cbSortActionPerformed(); + } + }); + btInvertSort_=new BuButton(CtuluLib.getS("Inverser l'ordre")); + btInvertSort_.setEnabled(false); + btInvertSort_.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + btInvertActionPerformed(); + } + }); + JPanel pnSort=new JPanel(); + pnSort.setLayout(new FlowLayout(FlowLayout.LEFT, 2, 0)); + pnSort.add(lbSort); + pnSort.add(cbSort_); + pnSort.add(btInvertSort_); + + JPanel pnReorder=new JPanel(); + pnReorder.setLayout(new BuVerticalLayout(2)); + pnReorder.add(pnMove); + pnReorder.add(pnSort); + pnReorder.setBorder(BorderFactory.createTitledBorder(CtuluLib.getS("R\xE9ordonner"))); + + add(pnReorder,BorderLayout.SOUTH); + + tableSelectionChanged(); + } + + @Override + public void apply() { + // on arrete la saisie avant d'appliquer les modifs + if (table_.isEditing()) { + table_.getCellEditor().stopCellEditing(); + } + + final CtuluCommandComposite cmp=new CtuluCommandComposite(CtuluLib.getS("Edition des g\xE9om\xE9tries")); + + for (int irow=0; irow < rows_.size(); irow++) { + int initInd=((SortableRow) rows_.get(irow)).indZone; + // Les lignes ont \xE9t\xE9 d\xE9plac\xE9es => Il faut d\xE9placer aussi les g\xE9om\xE9tries dans la collection. + if (initInd != irow) { + // Les g\xE9om\xE9tries sont switch\xE9es, les index initiaux aussi. + zone_.switchGeometries(irow, initInd, cmp); + // Les index initiaux aussi + for (int i=irow + 1; i < rows_.size(); i++) { + SortableRow row=(SortableRow) rows_.get(i); + if (row.indZone == irow) { + row.indZone=initInd; + break; + } + } + ((SortableRow) rows_.get(irow)).indZone=irow; + } + + // Remplacement des valeurs modifi\xE9es. + for (int icol=0; icol < values_.length; icol++) { + if (rows_.get(irow).isModified(icol)) { + values_[icol].setObject(irow, rows_.get(irow).getValue(icol), cmp); + } + } + } + if (cmd_ != null) { + cmd_.addCmd(cmp.getSimplify()); + } + + } +} Deleted: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/GISGuiBuilder.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/GISGuiBuilder.java 2011-07-05 09:27:45 UTC (rev 6320) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/GISGuiBuilder.java 2011-07-05 09:28:42 UTC (rev 6321) @@ -1,90 +0,0 @@ -/* - * @creation 9 f\xE9vr. 2006 - * @modification $Date: 2007-01-10 08:58:47 $ - * @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.edition; - -import java.util.ArrayList; -import java.util.List; - -import org.fudaa.ctulu.CtuluCommandContainer; -import org.fudaa.ctulu.collection.CtuluCollection; -import org.fudaa.ctulu.editor.CtuluValueEditorDefaults; -import org.fudaa.ctulu.editor.CtuluValueEditorI; -import org.fudaa.ctulu.gis.GISAttributeInterface; -import org.fudaa.ctulu.gis.GISZoneCollection; -import org.fudaa.ctulu.gis.GISZoneCollectionPoint; -import org.fudaa.ctulu.gui.CtuluValuesEditorPanel; - -/** - * Un builder de panneau d'\xE9ditions d'objets GIS. - * @author fred deniger - * @version $Id: GISGuiBuilder.java,v 1.5 2007-01-10 08:58:47 deniger Exp $ - */ -public final class GISGuiBuilder { - private GISGuiBuilder() {} - - /** - * Construction d'un panneau d'\xE9dition de plusieurs points d'une m\xEAme collection. - * @param _pt La collection de points - * @param _idx Les index des points de la collection concern\xE9s. - * @param _cmd Le manager de commandes. - * @return Un panneau d'\xE9dition. - */ - public static CtuluValuesEditorPanel buildFor(final GISZoneCollectionPoint _pt, final int[] _idx, final CtuluCommandContainer _cmd) { - final List names = new ArrayList(_pt.getNbAttributes() + 2); - final List editor = new ArrayList(names.size()); - final List model = new ArrayList(names.size()); - names.add("X"); - names.add("Y"); - editor.add(CtuluValueEditorDefaults.DOUBLE_EDITOR); - editor.add(CtuluValueEditorDefaults.DOUBLE_EDITOR); - model.add(_pt.createEditForX()); - model.add(_pt.createEditForY()); - for (int i = 0; i < _pt.getNbAttributes(); i++) { - // FIXME BM: G\xE9rer attribut non visible. - if (_pt.getAttribute(i).isEditable()) { - names.add(_pt.getAttribute(i).getName()); - editor.add(_pt.getAttribute(i).getEditor()); - model.add(_pt.getDataModel(i)); - } - } - return new CtuluValuesEditorPanel((String[]) names.toArray(new String[names.size()]), _idx, - (CtuluValueEditorI[]) editor.toArray(new CtuluValueEditorI[editor.size()]), (CtuluCollection[]) model - .toArray(new CtuluCollection[model.size()]), _cmd); - } - - /** - * Construction d'un panneau d'\xE9dition de plusieurs g\xE9om\xE9tries d'une m\xEAme collection. - * @param _pt La collection - * @param _idx Les index des g\xE9om\xE9tries de la collection concern\xE9s. - * @param _cmd Le manager de commandes. - * @return Un panneau d'\xE9dition. - */ - public static CtuluValuesEditorPanel buildForGlobAtt(final GISZoneCollection _pt, final int[] _idx, final CtuluCommandContainer _cmd) { - final int nbAtt = _pt.getNbAttributes(); - final List names = new ArrayList(nbAtt); - final List editor = new ArrayList(nbAtt); - final List model = new ArrayList(nbAtt); - for (int i = 0; i < nbAtt; i++) { - final GISAttributeInterface att = _pt.getAttribute(i); - // FIXME BM: G\xE9rer attribut non visible. - if (!att.isAtomicValue() && att.isEditable()) { - names.add(att.getName()); - editor.add(att.getEditor()); - model.add(_pt.getDataModel(i)); - } - } - if (names.size() > 0) { - return new CtuluValuesEditorPanel(names.toArray(new Object[names.size()]), _idx, (CtuluValueEditorI[]) editor - .toArray(new CtuluValueEditorI[editor.size()]), (CtuluCollection[]) model - .toArray(new CtuluCollection[model.size()]), _cmd); - } - return null; - - } - -} Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorDefault.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2011-07-05 09:27:45 UTC (rev 6320) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2011-07-05 09:28:42 UTC (rev 6321) @@ -804,14 +804,14 @@ editSingleObject(calque); else { // Plusieurs g\xE9om\xE9tries sont \xE0 \xE9diter - CtuluDialogPanel pn=null; - if (calque.getModelEditable().getGeomData() instanceof GISZoneCollectionPoint) - pn=GISGuiBuilder.buildFor((GISZoneCollectionPoint)calque.getModelEditable().getGeomData(), calque.getLayerSelection() - .getSelectedIndex(), getMng()); - else - pn=GISGuiBuilder.buildForGlobAtt(calque.getModelEditable().getGeomData(), calque.getLayerSelection().getSelectedIndex(), - getMng()); - if (pn==null) + EbliObjetsEditorPanel pn=new EbliObjetsEditorPanel(calque.getModelEditable().getGeomData(), calque.getLayerSelection().getSelectedIndex(), getMng()); +// if (calque.getModelEditable().getGeomData() instanceof GISZoneCollectionPoint) +// pn=GISGuiBuilder.buildFor((GISZoneCollectionPoint)calque.getModelEditable().getGeomData(), calque.getLayerSelection() +// .getSelectedIndex(), getMng()); +// else +// pn=GISGuiBuilder.buildForGlobAtt(calque.getModelEditable().getGeomData(), calque.getLayerSelection().getSelectedIndex(), +// getMng()); + if (!pn.hasEditableData()) getUi().message(calque.getTitle(), EbliLib.getS("Aucune donn\xE9e \xE0 \xE9diter"), false); else pn.afficheModale(getFrame(), calque.getTitle()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-07-08 13:26:35
|
Revision: 6325 http://fudaa.svn.sourceforge.net/fudaa/?rev=6325&view=rev Author: bmarchan Date: 2011-07-08 13:26:28 +0000 (Fri, 08 Jul 2011) Log Message: ----------- Fix : Plantage lors de recherches Globales ou Atomiques Modified Paths: -------------- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/find/CalqueFindActionAtomic.java trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/find/EbliFindExpressionDefault.java Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/find/CalqueFindActionAtomic.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/find/CalqueFindActionAtomic.java 2011-07-06 22:13:51 UTC (rev 6324) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/find/CalqueFindActionAtomic.java 2011-07-08 13:26:28 UTC (rev 6325) @@ -15,7 +15,6 @@ import org.fudaa.ebli.calque.ZCalqueGeometry; import org.fudaa.ebli.calque.ZEbliCalquesPanel; import org.fudaa.ebli.commun.EbliListeSelectionMulti; -import org.fudaa.ebli.commun.EbliSelectionState; import org.fudaa.ebli.find.EbliFindComponent; import org.fudaa.ebli.find.EbliFindComponentExpr; import org.fudaa.ebli.find.EbliFindable; @@ -47,6 +46,7 @@ _calque.addPropertyChangeListener("mode",this); } + @Override public boolean find(final Object _idx, final String _action, final int _selOption, final EbliFindable _parent) { if (_action.startsWith(CalqueFindComponentPolygone.getID())) { return findPolygone(_idx, _action, _selOption, _parent); @@ -101,7 +101,13 @@ // Mode atomique. if (((ZCalqueGeometry)layer_).isAtomicMode()) { + // On recupere le tableau pour chaque atomique stock\xE9 dans la valeur de la variable + for (int i=0; i<values.length; i++) { + values[i]=vars[i].getValue(); + } + int nbAtomics=((ZCalqueGeometry)layer_).modeleDonnees().getNbPointForGeometry(idxGeom); + for (int iat=0; iat<nbAtomics; iat++) { for (int j=0; j<vars.length; j++) { vars[j].setValue(((Object[])values[j])[iat]); @@ -115,9 +121,6 @@ // Mode global else { - for (int j=0; j<vars.length; j++) { - vars[j].setValue(values[j]); - } final int val=(int)expr_.getParser().getValue(); if (val==1) { // La liste des sous objets est vide, mais pr\xE9sente. @@ -132,6 +135,7 @@ } + @Override protected EbliFindComponent buildExprComp() { exprComp_=(EbliFindComponentExpr)super.buildExprComp(); exprComp_.setFindOnAtomic(((ZCalqueGeometry)layer_).isAtomicMode()); @@ -139,6 +143,7 @@ return exprComp_; } + @Override protected EbliFindComponent buildPolygoneComponent(final EbliFindable _parent) { polyComp_ = new CalqueFindComponentPolygone(((ZEbliCalquesPanel) _parent).getDonneesCalque()); polyComp_.setFindOnAtomic(((ZCalqueGeometry)layer_).isAtomicMode()); @@ -147,7 +152,7 @@ public void propertyChange(PropertyChangeEvent _evt) { if ("mode".equals(_evt.getPropertyName())) { - boolean isAtomic=((Boolean)_evt.getNewValue()).booleanValue(); + boolean isAtomic=ZCalqueGeometry.SelectionMode.ATOMIC.equals(_evt.getNewValue()); buildExpr(); if (exprComp_!=null) { Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/find/EbliFindExpressionDefault.java =================================================================== --- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/find/EbliFindExpressionDefault.java 2011-07-06 22:13:51 UTC (rev 6324) +++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/find/EbliFindExpressionDefault.java 2011-07-08 13:26:28 UTC (rev 6325) @@ -45,7 +45,9 @@ } public void majVariable(final int _idx, final Variable[] _varToUpdate) { - i_.setValue(CtuluLib.getDouble(_idx + 1)); + // Integer : Important pour obtenir un nombre entier lors de l'op\xE9ration Add() + // avec un String. + i_.setValue(new Integer(_idx + 1)); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-07-08 14:01:31
|
Revision: 6326 http://fudaa.svn.sourceforge.net/fudaa/?rev=6326&view=rev Author: bmarchan Date: 2011-07-08 14:01:24 +0000 (Fri, 08 Jul 2011) Log Message: ----------- Add : Nouveau champ historique stockant les op?\195?\169ration pour une g?\195?\169om. Modified Paths: -------------- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISAttributeConstants.java trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISLib.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java Modified: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISAttributeConstants.java =================================================================== --- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISAttributeConstants.java 2011-07-08 13:26:28 UTC (rev 6325) +++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISAttributeConstants.java 2011-07-08 14:01:24 UTC (rev 6326) @@ -17,6 +17,8 @@ import org.fudaa.ctulu.editor.CtuluValueEditorChoice; import com.memoire.fu.FuLib; +import org.fudaa.ctulu.CtuluActivity; +import org.fudaa.ctulu.editor.CtuluValueEditorDefaults; /** * Une classe pour d\xE9finir des attributs syst\xE8mes associables \xE0 des objets GIS. Les attributs syst\xE8mes @@ -69,7 +71,7 @@ /** * Un attribut nom, global. */ - public final static GISAttributeString TITRE = new GISAttributeString(CtuluLib.getS("Nom")) { + public final static GISAttributeString TITRE = new GISAttributeString(CtuluValueEditorDefaults.EXPR_STRING_EDITOR,CtuluLib.getS("Nom")) { /** Numero d'identifiant, incr\xE9ment\xE9 \xE0 chaque nouvelle cr\xE9ation de nom. */ private int numid_=0; String def_ = CtuluLib.getS("<Defaut>"); @@ -188,6 +190,16 @@ }; /** + * Un attribut historique, utilis\xE9 pour le stockage des manipulations sur une g\xE9om\xE9trie. + */ + public final static GISAttributeString HISTORY = new GISAttributeString(CtuluLib.getS("Historique"), false) { + @Override + public String getID() { + return "ATTRIBUTE_HISTORY"; + } + }; + + /** * Un attribut label, atomique. */ public final static GISAttributeString LABEL = new GISAttributeString(CtuluLib.getS("Label"), true) { Modified: trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISLib.java =================================================================== --- trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISLib.java 2011-07-08 13:26:28 UTC (rev 6325) +++ trunk/framework/ctulu-gis/src/main/java/org/fudaa/ctulu/gis/GISLib.java 2011-07-08 14:01:24 UTC (rev 6326) @@ -1033,4 +1033,15 @@ str.append(_prop+"="+_value); return str.toString(); } + + /** + * Ajoute une op\xE9ration dans l'attribut l'historique + * @param _ope L'op\xE9ration + * @param _mes Le message li\xE9 + * @param _history L'historique + * @return L'historique r\xE9sultant. + */ + static public String appendHistory(String _ope, String _mes, String _history) { + return _ope+"("+_mes+")"+(_history.trim().length()==0 ? "":"; "+_history.trim()); + } } \ No newline at end of file Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2011-07-08 13:26:28 UTC (rev 6325) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleLigneBriseeEditable.java 2011-07-08 14:01:24 UTC (rev 6326) @@ -22,7 +22,6 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.CtuluCommandContainer; -import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluListSelectionInterface; import org.fudaa.ctulu.CtuluUI; @@ -47,6 +46,7 @@ import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.LineString; import org.fudaa.ctulu.CtuluNamedCommand; +import org.fudaa.ctulu.gis.GISLib; import org.fudaa.ebli.calque.ZModelListener; /** @@ -151,7 +151,7 @@ public boolean addGeometry(final Geometry _p,final CtuluCommandContainer _cmd,final CtuluUI _ui, final ZEditionAttributesDataI _d){ if (_p.getNumPoints() < 2) { - _ui.error(null,CtuluLib.getS("La polyligne doit contenir {0} points au moins",CtuluLibString.DEUX), false); + _ui.error(null,EbliLib.getS("La polyligne doit contenir {0} points au moins",CtuluLibString.DEUX), false); return false; } if (!(_p instanceof LineString)) { throw new IllegalArgumentException("Bad geometry type"); } @@ -226,7 +226,7 @@ } private String getErrorMinPt() { - return CtuluLib.getS("La ligne brisee doit contenir {0} points au moins", + return EbliLib.getS("La ligne brisee doit contenir {0} points au moins", CtuluLibString.TROIS); } @@ -274,7 +274,7 @@ } private String getErrorMin2Pt() { - return CtuluLib.getS("La ligne brisee doit contenir {0} points au moins", + return EbliLib.getS("La ligne brisee doit contenir {0} points au moins", CtuluLibString.DEUX); } @@ -327,7 +327,7 @@ final GISPolyligne line = (GISPolyligne) geometries_.getGeometry(_ligneIdx); // Old line if (line == null || _idx[0] <= 0 || _idx[1] >= line.getNumPoints() - 1) { return null; } - final CtuluCommandComposite cmp = new CtuluCommandComposite(); + final CtuluCommandComposite cmp = new CtuluCommandComposite(EbliLib.getS("Scission de la g\xE9om\xE9trie")); // Les coordonn\xE9es final Coordinate[] clold = line.getCoordinates(); @@ -341,6 +341,8 @@ } // Les datas + final int iattHisto=geometries_.getIndiceOf(GISAttributeConstants.HISTORY); + final Object[] dataline1 = new Object[getAttributeNb()]; final Object[] dataline2 = new Object[getAttributeNb()]; for (int i = 0; i < getAttributeNb(); i++) { @@ -360,13 +362,20 @@ dataline2[i]=atomModel2; } else { - // Cas particulier de l'attribut TITRE => <TITRE_GEOM>_1 et <TITRE_GEOM>_2 + // Cas particulier de l'attribut TITRE => Conserv\xE9, op\xE9ration dans l'historique if (attmodel.getAttribute()==GISAttributeConstants.TITRE) { final String name = (String) attmodel.getObjectValueAt(_ligneIdx); - dataline1[i]=name+"_1"; - dataline2[i]=name+"_2"; + dataline1[i]=name; + dataline2[i]=name+"_"; + + if (iattHisto!=-1) { + dataline1[iattHisto]=GISLib.appendHistory(EbliLib.getS("Scission"),name, (String)geometries_.getModel(iattHisto).getObjectValueAt(_ligneIdx)); + dataline2[iattHisto]=GISLib.appendHistory(EbliLib.getS("Scission"),name, (String)geometries_.getModel(iattHisto).getObjectValueAt(_ligneIdx)); + } } - // CAs particulier de l'attribut ETAT_GEOM => ATT_VAL_ETAT_MODI + // Cas particulier de l'historique => Deja trait\xE9 + else if(attmodel.getAttribute()==GISAttributeConstants.HISTORY) {} + // Cas particulier de l'attribut ETAT_GEOM => ATT_VAL_ETAT_MODI else if(attmodel.getAttribute()==GISAttributeConstants.ETAT_GEOM) { dataline1[i]=GISAttributeConstants.ATT_VAL_ETAT_MODI; dataline2[i]=GISAttributeConstants.ATT_VAL_ETAT_MODI; @@ -398,7 +407,7 @@ } if (line == null || _idx <= 0 || _idx >= line.getNumPoints() - 1) { return null; } - final CtuluCommandComposite cmp = new CtuluCommandComposite(); + final CtuluCommandComposite cmp = new CtuluCommandComposite(EbliLib.getS("Scission de la g\xE9om\xE9trie")); // Les coordonn\xE9es final Coordinate[] clold = line.getCoordinates(); @@ -412,6 +421,8 @@ } // Les datas + final int iattHisto=geometries_.getIndiceOf(GISAttributeConstants.HISTORY); + final Object[] dataline1 = new Object[getAttributeNb()]; final Object[] dataline2 = new Object[getAttributeNb()]; for (int i = 0; i < getAttributeNb(); i++) { @@ -431,12 +442,19 @@ dataline1[i] = atomModel1; dataline2[i] = atomModel2; } else { - // Cas particulier de l'attribut TITRE => <TITRE_GEOM>_1 et <TITRE_GEOM>_2 + // Cas particulier de l'attribut TITRE => Conserv\xE9, op\xE9ration dans l'historique if (attribute == GISAttributeConstants.TITRE) { final String name = (String) model; - dataline1[i] = name + "_1"; - dataline2[i] = name + "_2"; + dataline1[i] = name; + dataline2[i] = name+"_"; + + if (iattHisto!=-1) { + dataline1[iattHisto]=GISLib.appendHistory(EbliLib.getS("Scission"),name, (String)geometries_.getModel(iattHisto).getObjectValueAt(_ligneIdx)); + dataline2[iattHisto]=GISLib.appendHistory(EbliLib.getS("Scission"),name, (String)geometries_.getModel(iattHisto).getObjectValueAt(_ligneIdx)); + } } + // Cas particulier de l'historique => Deja trait\xE9 + else if(attmodel.getAttribute()==GISAttributeConstants.HISTORY) {} // CAs particulier de l'attribut ETAT_GEOM => ATT_VAL_ETAT_MODI else if(attmodel.getAttribute()==GISAttributeConstants.ETAT_GEOM) { dataline1[i]=GISAttributeConstants.ATT_VAL_ETAT_MODI; @@ -479,7 +497,7 @@ if (_idx[i]!=0 && _idx[i]!=lines[i].getNumPoints()-1) return -1; // Seuls les points extremit\xE9s sont autoris\xE9s. } - final CtuluCommandComposite cmp = new CtuluCommandComposite(); + final CtuluCommandComposite cmp = new CtuluCommandComposite(EbliLib.getS("Jointure de polylignes")); // Les coordonn\xE9es Coordinate[] cline=new Coordinate[lines[0].getNumPoints()+lines[1].getNumPoints()]; @@ -506,6 +524,8 @@ } // Les datas + final int iattHisto=geometries_.getIndiceOf(GISAttributeConstants.HISTORY); + Object[] dataline=new Object[geometries_.getNbAttributes()]; for (int att=0; att<geometries_.getNbAttributes(); att++) { if (geometries_.getAttribute(att).isAtomicValue()) { @@ -533,12 +553,19 @@ dataline[att]=mdl; } else { - // Cas particulier de l'attribut TITRE => <TITRE_GEOM1>_<TITRE_GEOM2> + // Cas particulier de l'attribut TITRE => On prend le premier, l'autre va dans l'historique if (geometries_.getModel(att).getAttribute()==GISAttributeConstants.TITRE) { String name1=(String)geometries_.getModel(att).getObjectValueAt(_ligneIdx[0]); String name2=(String)geometries_.getModel(att).getObjectValueAt(_ligneIdx[1]); - dataline[att]=name1+"_"+name2; + dataline[att]=name1; + + if (iattHisto!=-1) { + dataline[iattHisto]=GISLib.appendHistory(EbliLib.getS("Jonction"),name1+","+name2, (String)geometries_.getModel(iattHisto).getObjectValueAt(_ligneIdx[0])); + } } + // Cas particulier de l'attribut HISTORY => D\xE9j\xE0 trait\xE9 + else if (geometries_.getModel(att).getAttribute()==GISAttributeConstants.HISTORY) {} + // Cas particulier de l'attribut ETAT_GEOM => ATT_VAL_ETAT_MODI else if (geometries_.getModel(att).getAttribute()==GISAttributeConstants.ETAT_GEOM) { dataline[att]=GISAttributeConstants.ATT_VAL_ETAT_MODI; @@ -730,7 +757,7 @@ } if (!s.isValid()) { if (_analyze!=null) - _analyze.addFatalError(CtuluLib.getS("La nouvelle ligne bris\xE9e n'est pas valide", CtuluLibString.TROIS)); + _analyze.addFatalError(EbliLib.getS("La nouvelle ligne bris\xE9e n'est pas valide", CtuluLibString.TROIS)); return false; } return true; @@ -1028,7 +1055,7 @@ Object[] vals=new Object[geometries_.getNbAttributes()]; for (int iatt=0; iatt<geometries_.getNbAttributes(); iatt++) { Object val=geometries_.getValue(iatt,idx); - if (geometries_.getAttribute(iatt).equals(GISAttributeConstants.TITRE)) val=CtuluLib.getS("Copie de")+" "+val; + if (geometries_.getAttribute(iatt).equals(GISAttributeConstants.TITRE)) val=EbliLib.getS("Copie de")+" "+val; if (geometries_.getAttribute(iatt).equals(GISAttributeConstants.ETAT_GEOM)) val=GISAttributeConstants.ATT_VAL_ETAT_MODI; int nbpt=geom.getNumPoints(); vals[iatt]=geometries_.getAttribute(iatt).createDataForGeom(val, nbpt); Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java 2011-07-08 13:26:28 UTC (rev 6325) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZModeleMultiPointEditable.java 2011-07-08 14:01:24 UTC (rev 6326) @@ -17,7 +17,6 @@ import org.fudaa.ctulu.CtuluAnalyze; import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.CtuluCommandContainer; -import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibString; import org.fudaa.ctulu.CtuluListSelection; import org.fudaa.ctulu.CtuluListSelectionInterface; @@ -43,6 +42,7 @@ import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.CoordinateSequence; import com.vividsolutions.jts.geom.Geometry; +import org.fudaa.ctulu.gis.GISLib; import org.fudaa.ctulu.table.CtuluTable; import org.fudaa.ebli.calque.ZCalqueGeometry.SelectionMode; @@ -299,7 +299,7 @@ if (nb==1) { final int idxPoly=layer.getLayerSelection().getMaxIndex(); _d.setTitle(EbliLib.getS("Semis {0}", CtuluLibString.getString(idxPoly+1))); - _d.put(CtuluLib.getS("Valid"), getGeomData().getGeometry(idxPoly).isValid() ? CtuluLib.getS("vrai"):CtuluLib.getS("faux")); + _d.put(EbliLib.getS("Valid"), getGeomData().getGeometry(idxPoly).isValid() ? EbliLib.getS("vrai"):EbliLib.getS("faux")); fillWithInfo(idxPoly, _d); } } @@ -401,7 +401,7 @@ public boolean addGeometry(final Geometry _p,final CtuluCommandContainer _cmd,final CtuluUI _ui, final ZEditionAttributesDataI _d){ if (_p.getNumPoints() < 1) { - _ui.error(null,CtuluLib.getS("Le multi point doit contenir {0} points au moins",CtuluLibString.UN), false); + _ui.error(null,EbliLib.getS("Le multi point doit contenir {0} points au moins",CtuluLibString.UN), false); return false; } if (geometries_ == null) { @@ -532,7 +532,7 @@ CoordinateSequence cgeom=geom.getCoordinateSequence(); if (_idx.length<0 || _idx.length>=cgeom.size()) return null; - final CtuluCommandComposite cmp = new CtuluCommandComposite(); + final CtuluCommandComposite cmp = new CtuluCommandComposite(EbliLib.getS("Scission de la g\xE9om\xE9trie")); CtuluListSelection sel=new CtuluListSelection(_idx); // Les coordonn\xE9es @@ -548,6 +548,8 @@ } // Les datas + int iattHisto=geometries_.getIndiceOf(GISAttributeConstants.HISTORY); + Object[] datageom1=new Object[getAttributeNb()]; Object[] datageom2=new Object[getAttributeNb()]; for (int i=0; i<getAttributeNb(); i++) { @@ -569,13 +571,20 @@ datageom2[i]=atomModel2; } else { - // Cas particulier de l'attribut TITRE => <TITRE_GEOM>_1 et <TITRE_GEOM>_2 + // Cas particulier de l'attribut TITRE => Conserv\xE9, op\xE9ration dans l'historique if (attmodel.getAttribute()==GISAttributeConstants.TITRE) { String name=(String)attmodel.getObjectValueAt(_geomIdx); - datageom1[i]=name+"_1"; - datageom2[i]=name+"_2"; + datageom1[i]=name; + datageom2[i]=name+"_"; + + if (iattHisto!=-1) { + datageom1[iattHisto]=GISLib.appendHistory(EbliLib.getS("Scission"),name, (String)geometries_.getModel(iattHisto).getObjectValueAt(_geomIdx)); + datageom2[iattHisto]=GISLib.appendHistory(EbliLib.getS("Scission"),name, (String)geometries_.getModel(iattHisto).getObjectValueAt(_geomIdx)); + } } - // CAs particulier de l'attribut ETAT_GEOM => ATT_VAL_ETAT_MODI + // Cas particulier de l'historique => Deja trait\xE9 + else if(attmodel.getAttribute()==GISAttributeConstants.HISTORY) {} + // Cas particulier de l'attribut ETAT_GEOM => ATT_VAL_ETAT_MODI else if(attmodel.getAttribute()==GISAttributeConstants.ETAT_GEOM) { datageom1[i]=GISAttributeConstants.ATT_VAL_ETAT_MODI; datageom2[i]=GISAttributeConstants.ATT_VAL_ETAT_MODI; @@ -816,7 +825,7 @@ Object[] vals=new Object[geometries_.getNbAttributes()]; for (int iatt=0; iatt<geometries_.getNbAttributes(); iatt++) { Object val=geometries_.getValue(iatt,idx); - if (geometries_.getAttribute(iatt).equals(GISAttributeConstants.TITRE)) val=CtuluLib.getS("Copie de")+" "+val; + if (geometries_.getAttribute(iatt).equals(GISAttributeConstants.TITRE)) val=EbliLib.getS("Copie de")+" "+val; if (geometries_.getAttribute(iatt).equals(GISAttributeConstants.ETAT_GEOM)) val=GISAttributeConstants.ATT_VAL_ETAT_MODI; int nbpt=geom.getNumPoints(); vals[iatt]=geometries_.getAttribute(iatt).createDataForGeom(val, nbpt); @@ -850,7 +859,7 @@ public int joinGeometries(int[] _idxSemis, final CtuluCommandContainer _cmd) { if (geometries_ == null||_idxSemis==null||_idxSemis.length!=2) return -1; - final CtuluCommandComposite cmp = new CtuluCommandComposite("Jointure de semis de points"); + final CtuluCommandComposite cmp = new CtuluCommandComposite(EbliLib.getS("Jointure de semis de points")); // Nouvelles coordonn\xE9es int nbPointMulti1=geometries_.getGeometry(_idxSemis[0]).getNumPoints(); @@ -864,6 +873,8 @@ } // Les datas + final int iattHisto=geometries_.getIndiceOf(GISAttributeConstants.HISTORY); + Object[] dataSemis=new Object[geometries_.getNbAttributes()]; for (int att=0; att<geometries_.getNbAttributes(); att++) { // Attributs atomiques @@ -879,12 +890,19 @@ } // Attributs globaux else { - // Cas particulier de l'attribut TITRE => <TITRE_GEOM1>_<TITRE_GEOM2> + // Cas particulier de l'attribut TITRE => On prend le premier, l'autre va dans l'historique if (geometries_.getModel(att).getAttribute()==GISAttributeConstants.TITRE) { String name1=(String)geometries_.getModel(att).getObjectValueAt(_idxSemis[0]); String name2=(String)geometries_.getModel(att).getObjectValueAt(_idxSemis[1]); - dataSemis[att]=name1+"_"+name2; + dataSemis[att]=name1; + + if (iattHisto!=-1) { + dataSemis[iattHisto]=GISLib.appendHistory(EbliLib.getS("Jonction"),name1+","+name2, (String)geometries_.getModel(iattHisto).getObjectValueAt(_idxSemis[0])); + } } + // Cas particulier de l'attribut HISTORY => D\xE9j\xE0 trait\xE9 + else if (geometries_.getModel(att).getAttribute()==GISAttributeConstants.HISTORY) {} + // Cas particulier de l'attribut ETAT_GEOM => ATT_VAL_ETAT_MODI else if (geometries_.getModel(att).getAttribute()==GISAttributeConstants.ETAT_GEOM) { dataSemis[att]=GISAttributeConstants.ATT_VAL_ETAT_MODI; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-07-08 14:02:53
|
Revision: 6327 http://fudaa.svn.sourceforge.net/fudaa/?rev=6327&view=rev Author: bmarchan Date: 2011-07-08 14:02:45 +0000 (Fri, 08 Jul 2011) Log Message: ----------- Mod : L'editeur de string CtuluValueEditorString accepte ?\195?\160 pr?\195?\169sent des formules Add : L'editeur de formule affiche ou non le bouton d'edition par dialogue. Modified Paths: -------------- trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuTextField.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluExpr.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluExprStringValidator.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluExprStringValidators.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLibArray.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluParser.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluExprTextField.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluValueEditorDefaults.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluValueEditorI.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluValueEditorString.java trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesCommonEditorPanel.java Modified: trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuTextField.java =================================================================== --- trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuTextField.java 2011-07-08 14:01:24 UTC (rev 6326) +++ trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuTextField.java 2011-07-08 14:02:45 UTC (rev 6327) @@ -140,6 +140,11 @@ return charValidator_; } + /** + * Ce validator est sert \xE0 accepter ou non un caract\xE8re saisi. Il est + * consult\xE9 \xE0 chaque caract\xE8re saisi. + * @param _validator Le validator. + */ public void setCharValidator(BuCharValidator _validator) { charValidator_ = _validator; } @@ -148,6 +153,11 @@ return stringValidator_; } + /** + * Ce validator sert \xE0 accepter ou non le format de la chaine saisie. + * Il est consult\xE9 lors de la perte de focus. + * @param _validator Le validator + */ public void setStringValidator(BuStringValidator _validator) { stringValidator_ = _validator; } @@ -156,6 +166,11 @@ return valueValidator_; } + /** + * Ce validator sert \xE0 accepter la valeur de la chaine saisie. Il peut limiter + * la plage de valeurs. Il est consult\xE9 lors de la perte de focus. + * @param _validator Le validator + */ public void setValueValidator(BuValueValidator _validator) { valueValidator_ = _validator; } Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluExpr.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluExpr.java 2011-07-08 14:01:24 UTC (rev 6326) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluExpr.java 2011-07-08 14:02:45 UTC (rev 6327) @@ -18,6 +18,10 @@ import org.nfunk.jep.function.PostfixMathCommandI; /** + * Un conteneur d'expression. Il permet de renseigner les variables utilisables + * avant parsing, et de r\xE9cup\xE9rer des infos sur le parser associ\xE9 une fois + * une evaluation r\xE9alis\xE9e. + * * @author Fred Deniger * @version $Id: CtuluExpr.java,v 1.13 2007-04-16 16:33:53 deniger Exp $ */ Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluExprStringValidator.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluExprStringValidator.java 2011-07-08 14:01:24 UTC (rev 6326) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluExprStringValidator.java 2011-07-08 14:02:45 UTC (rev 6327) @@ -10,6 +10,9 @@ import com.memoire.bu.BuStringValidator; /** + * Un validateur de string, utilis\xE9 pour v\xE9rifier que le format saisi est correct. Il + * peut g\xE9rer une string sous forme de formule, ou sous forme standard. + * * @author Fred Deniger * @version $Id: CtuluExprStringValidator.java,v 1.4 2006-09-19 14:36:53 deniger Exp $ */ @@ -17,6 +20,8 @@ final CtuluExpr expr_; boolean isEmptyAccepted_ = true; + /** True : Une expression est attendue */ + boolean exprIsExpected_=true; /** * Expression construite par defaut. @@ -29,8 +34,12 @@ * @param _expr expression : non null. */ public CtuluExprStringValidator(final CtuluExpr _expr) { + this(_expr,true); + } + + public CtuluExprStringValidator(final CtuluExpr _expr, boolean _exprExpected) { expr_ = _expr; - + exprIsExpected_=_exprExpected; } /** @@ -44,7 +53,7 @@ return isEmptyAccepted_; } - public final boolean isStringValid(final String _string){ + public boolean isStringValid(final String _string){ if (_string == null || _string.length() == 0) { return isEmptyAccepted_; } @@ -55,6 +64,18 @@ public final void setEmptyAccepted(final boolean _isEmptyAccepted){ isEmptyAccepted_ = _isEmptyAccepted; } + + /** + * Definit que le validator attend une formule + * @param _b True : Une formule est attendue, une valeur standard sinon. + */ + public void setExpressionExpected(boolean _b) { + exprIsExpected_=_b; + } + + public boolean isExpressionExpected() { + return exprIsExpected_; + } public String valueToString(final Object _value){ if (_value instanceof CtuluExpr) { Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluExprStringValidators.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluExprStringValidators.java 2011-07-08 14:01:24 UTC (rev 6326) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluExprStringValidators.java 2011-07-08 14:02:45 UTC (rev 6327) @@ -14,7 +14,9 @@ import org.nfunk.jep.Variable; /** - * @author Fred Deniger + * Des validateurs d'expressions formules. + * + * @author Fred Deniger, mar...@de... * @version $Id: CtuluExprStringValidators.java,v 1.6 2007-04-16 16:33:53 deniger Exp $ */ public class CtuluExprStringValidators { @@ -26,11 +28,11 @@ public static class DoubleOption extends CtuluExprStringValidator { public DoubleOption() { - super(new CtuluExpr()); + this(new CtuluExpr()); } public DoubleOption(final CtuluExpr _expr) { - super(_expr); + super(_expr,true); } public Object stringToValue(final String _string) { @@ -53,11 +55,11 @@ public static class IntegerOption extends CtuluExprStringValidator { public IntegerOption() { - super(new CtuluExpr()); + this(new CtuluExpr()); } public IntegerOption(final CtuluExpr _expr) { - super(_expr); + super(_expr,true); } @@ -77,11 +79,11 @@ public static class LongOption extends CtuluExprStringValidator { public LongOption() { - super(new CtuluExpr()); + this(new CtuluExpr()); } public LongOption(final CtuluExpr _expr) { - super(_expr); + super(_expr,true); } @@ -94,4 +96,50 @@ } } + /** + * Un validateur pour une string retourn\xE9e. Si le validator n'est pas + * sur un mode expression, retourne la chaine. Sinon retourne la valeur de + * l'expression. + * + * @author mar...@de... + * @version $Id: CtuluExprStringValidators.java,v 1.6 2007-04-16 16:33:53 deniger Exp $ + */ + public static class StringOption extends CtuluExprStringValidator { + public StringOption() { + this(new CtuluExpr()); + } + + /** + * Par defaut, le champ n'attend pas de formule. + * @param _expr + */ + public StringOption(final CtuluExpr _expr) { + super(_expr,false); + } + + public Object stringToValue(final String _string) { + if (_string == null || _string.trim().length() == 0) { + return isEmptyAccepted_?"":null; + } + + if (!exprIsExpected_) + return _string; + + expr_.getParser().parseExpression(_string); + if (expr_.getParser().hasError()) { return null; } + return expr_; + } + + public boolean isStringValid(final String _string) { + if (_string == null || _string.length() == 0) { + return isEmptyAccepted_; + } + if (exprIsExpected_) { + expr_.getParser().parseExpression(_string); + return !(expr_.getParser().hasError()); + } + return true; + } + } + } Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLibArray.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLibArray.java 2011-07-08 14:01:24 UTC (rev 6326) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLibArray.java 2011-07-08 14:02:45 UTC (rev 6327) @@ -779,5 +779,27 @@ } return somme / _t.length; } + + /** + * Remplit le tableau pass\xE9 de facon incr\xE9mentale, depuis une valeur initiale. + * @param _t Le tableau + * @param _initVal La valeur initiale pour le premier indice. + * @return Le tableau pass\xE9, initialis\xE9, de 1 en 1 + */ + public static double[] fillIncremental(final double[] _t, double _initVal) { + for (int i=0; i<0; i++) _t[i]=i+_initVal; + return _t; + } + + /** + * Remplit le tableau pass\xE9 de facon incr\xE9mentale, depuis une valeur initiale. + * @param _t Le tableau + * @param _initVal La valeur initiale pour le premier indice. + * @return Le tableau pass\xE9, initialis\xE9 de 1 en 1. + */ + public static int[] fillIncremental(final int[] _t, int _initVal) { + for (int i=0; i<0; i++) _t[i]=i+_initVal; + return _t; + } } \ No newline at end of file Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluParser.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluParser.java 2011-07-08 14:01:24 UTC (rev 6326) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluParser.java 2011-07-08 14:02:45 UTC (rev 6327) @@ -12,6 +12,7 @@ import java.util.Map; import org.nfunk.jep.*; +import org.nfunk.jep.function.Add; import org.nfunk.jep.type.NumberFactory; /** @@ -19,7 +20,43 @@ * @version $Id: CtuluParser.java,v 1.6 2006-09-19 14:36:54 deniger Exp $ */ public class CtuluParser extends JEP { + + /** + * L'operateur "+" est red\xE9fini pour que Add(String,Object) -> String. + * L'operateur par d\xE9faut d\xE9clenche une exception. + */ + private class CtuluOperationAdd extends Add { + @Override + public Object add(Object param1, Object param2) throws ParseException { + if ((param1 instanceof String) || (param2 instanceof String)) { + return add(param1.toString(),param2.toString()); + } + else { + return super.add(param1, param2); + } + } + + /** + * Ajout de 2 string. + * @param _param1 La premiere string + * @param _param2 La deuxieme string. + * @return La chaine r\xE9sultante. + */ + public String add(String _param1, String _param2) { + return _param1+_param2; + } + } + + /** + * Le set des op\xE9rations est surcharg\xE9 pour int\xE9grer la nouvelle m\xE9thode Add(). + */ + private class CtuluOperatorSet extends OperatorSet { + public CtuluOperatorSet() { + OP_ADD = new Operator("+",new CtuluOperationAdd()); + } + } + public static Variable addOldVar(final CtuluExpr _expr){ return _expr.addVar(CtuluParser.getOldVariable(), CtuluLib .getS("L'ancienne valeur de la variable")); @@ -53,6 +90,7 @@ public CtuluParser() { super(); + opSet=new CtuluOperatorSet(); } /** @@ -68,6 +106,7 @@ setAllowUndeclared(_allowUndeclaredIn); setImplicitMul(_implicitMulIn); super.numberFactory = _numberFactoryIn; + opSet=new CtuluOperatorSet(); } /** @@ -115,6 +154,12 @@ } } + /** + * Retourne le tableau des variables utilis\xE9es dans la derniere + * expression pars\xE9e. + * + * @return Le tableau, de longueur 0 si aucune variable dans l'expression. + */ public Variable[] findUsedVar(){ final CtuluExprVarCollector coll = new CtuluExprVarCollector(); coll.findOnlyVar(true); @@ -122,6 +167,12 @@ return coll.getFoundVar(); } + /** + * Retourne le tableau des variables et constantes utilis\xE9es dans la derniere + * expression pars\xE9e. + * + * @return Le tableau, de longueur 0 si aucune variable/constante dans l'expression. + */ public Variable[] findUsedVarAndConstant(){ final CtuluExprVarCollector coll = new CtuluExprVarCollector(); visitAll(coll, getTopNode()); @@ -145,6 +196,9 @@ return buf.append("</body></html>").toString(); } + /** + * @return La derni\xE8re expression pars\xE9e ou null si aucun parsing effectu\xE9. + */ public final String getLastExpr(){ return lastExpr_; @@ -154,6 +208,11 @@ return hasError() ? super.errorList.size() : 0; } + /** + * Surcharge pour conserver la derni\xE8re expression. + * @param _expression L'expression \xE0 evaluer. + */ + @Override public void parseExpression(final String _expression){ lastExpr_ = _expression; super.parseExpression(_expression); Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluExprTextField.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluExprTextField.java 2011-07-08 14:01:24 UTC (rev 6326) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluExprTextField.java 2011-07-08 14:02:45 UTC (rev 6327) @@ -24,14 +24,17 @@ import javax.swing.UIManager; import com.memoire.bu.BuBorderLayout; +import com.memoire.bu.BuCheckBoxMenuItem; import com.memoire.bu.BuCommonInterface; import com.memoire.bu.BuDialogConfirmation; import com.memoire.bu.BuLib; +import com.memoire.bu.BuMenuItem; import com.memoire.bu.BuPopupMenu; import com.memoire.bu.BuResource; import com.memoire.bu.BuStringValidator; import com.memoire.bu.BuTextField; import com.memoire.bu.BuToolButton; +import com.memoire.bu.BuValueValidator; import org.fudaa.ctulu.CtuluExpr; import org.fudaa.ctulu.CtuluExprStringValidator; @@ -40,15 +43,71 @@ import org.fudaa.ctulu.CtuluResource; /** - * Un editeur pour des valeurs reelles ou entieres. + * Un champ texte pour saisir des valeurs reelles, entieres ou string, sous + * forme ou non de formule. * - * @author Fred Deniger + * @author Fred Deniger, mar...@de... * @version $Id: CtuluExprTextField.java,v 1.9 2007-06-28 09:24:23 deniger Exp $ */ public class CtuluExprTextField extends BuTextField { + + class FormulaPopupMenu extends BuPopupMenu { + BuCheckBoxMenuItem cbActivate_; + BuMenuItem cbValid_; + BuMenuItem cbEdit_; + + public FormulaPopupMenu() { + cbActivate_=addCheckBox(CtuluLib.getS("Activer"), "ACTIVATE", true,false); + cbValid_=addMenuItem(CtuluLib.getS("Valider"), "VALID", BuResource.BU.getToolIcon("valider"), false); + cbEdit_=addMenuItem(CtuluLib.getS("Editeur"), "EDIT", CtuluResource.CTULU.getToolIcon("formule"), false); + addActionListener(new ActionListener() { - BuPopupMenu menu_; + public void actionPerformed(final ActionEvent _ae) { + if ("ACTIVATE".equals(_ae.getActionCommand())) { + ((CtuluExprStringValidator)getStringValidator()).setExpressionExpected(cbActivate_.isSelected()); + // Controle que la valeur actuelle est correcte. + isValideValue(); + } + if ("VALID".equals(_ae.getActionCommand())) { + final boolean isValidValue = isValideValue(); + final JToolTip tp = createToolTip(); + tp.setTipText(isValidValue ? CtuluLib.getS("Valide") : CtuluLib.getS("Non valide")); + tp.setSize(tp.getPreferredSize()); + final Point l = CtuluExprTextField.this.getLocationOnScreen(); + final Popup popup = PopupFactory.getSharedInstance().getPopup(CtuluExprTextField.this, tp, (int) l.getX(), + (int) l.getY()); + popup.show(); + final Timer t = new Timer(750, new ActionListener() { + public void actionPerformed(ActionEvent _evt) { + popup.hide(); + } + }); + t.setRepeats(false); + t.start(); + + } + // boite de dialogue pour l'editeur d'expression. + else if ("EDIT".equals(_ae.getActionCommand())) { + editFormula(); + } + + } + }); + } + + public void update() { + boolean isExprExpected=((CtuluExprStringValidator)getStringValidator()).isExpressionExpected(); + cbActivate_.setSelected(isExprExpected); + cbValid_.setEnabled(isExprExpected); + cbEdit_.setEnabled(isExprExpected); + } + } + + /** Le menu pour proposer l'\xE9diteur de formule. */ + FormulaPopupMenu menu_; + BuToolButton formulaButton_; + /** * Construit avec un validateur de double. * @@ -84,8 +143,8 @@ * Redefinie pour prendre en compte la commande popup. */ protected void processMouseEvent(final MouseEvent _e) { - if (_e.getID() == MouseEvent.MOUSE_CLICKED && (BuLib.isRight(_e) || _e.isPopupTrigger())) { - popup(_e); + if (formulaButton_==null && _e.getID() == MouseEvent.MOUSE_CLICKED && (BuLib.isRight(_e) || _e.isPopupTrigger())) { + popup(this,_e.getX(),_e.getY()); } else { super.processMouseEvent(_e); } @@ -93,88 +152,67 @@ public boolean isValideValue() { final String oldTipId = "oldToolTip"; - getStringValidator().isStringValid(super.getText()); - if (getExpr().getLastError() != null) { + if (!getStringValidator().isStringValid(super.getText()) && getExpr().getLastError() != null) { if (getClientProperty(oldTipId) == null) { - putClientProperty(oldTipId, getToolTipText()); + String tp=getToolTipText(); + putClientProperty(oldTipId, tp==null?"":tp); } setForeground(Color.RED); setToolTipText(getExpr().getParser().getHtmlError()); return false; } if (getClientProperty(oldTipId) != null) { - setToolTipText((String) getClientProperty(oldTipId)); + String tp=(String)getClientProperty(oldTipId); + setToolTipText(tp.equals("")?null:tp); } setForeground(UIManager.getColor(getUIClassID() + ".foreground")); return true; } - public JComponent getButton() { + public BuToolButton getButton() { final BuToolButton bt = new BuToolButton(CtuluResource.CTULU.getToolIcon("formule")); bt.setToolTipText(CtuluLib.getS("Editeur d'expressions")); - bt.setActionCommand("EDIT"); +// bt.setActionCommand("EDIT"); bt.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent _e) { - editFormula(); + popup(bt, 0, bt.getHeight()); } }); return bt; } - - boolean done_; - - public void addButton() { - if (done_) { - return; + + public void setFormulaMenuAsButton(boolean _b) { + if (_b) { + if (formulaButton_ != null) { + return; + } + formulaButton_=getButton(); + setLayout(new BuBorderLayout(0, 0)); + add(formulaButton_, BuBorderLayout.EAST); } - done_ = true; - setLayout(new BuBorderLayout(0, 0)); - add(getButton(), BuBorderLayout.EAST); + else { + remove(formulaButton_); + formulaButton_=null; + } } - void popup(final MouseEvent _e) { + void popup(JComponent _comp, int _x, int _y) { if (menu_ == null) { - menu_ = new BuPopupMenu(); - menu_.addMenuItem(CtuluLib.getS("Valider"), "VALID", BuResource.BU.getToolIcon("valider"), true); - menu_.addMenuItem(CtuluLib.getS("Editeur"), "EDIT", CtuluResource.CTULU.getToolIcon("formule"), true); - menu_.addActionListener(new ActionListener() { - - public void actionPerformed(final ActionEvent _ae) { - if ("VALID".equals(_ae.getActionCommand())) { - final boolean isValidValue = isValideValue(); - final JToolTip tp = createToolTip(); - tp.setTipText(isValidValue ? CtuluLib.getS("Valide") : CtuluLib.getS("Non valide")); - tp.setSize(tp.getPreferredSize()); - final Point l = CtuluExprTextField.this.getLocationOnScreen(); - final Popup popup = PopupFactory.getSharedInstance().getPopup(CtuluExprTextField.this, tp, (int) l.getX(), - (int) l.getY()); - popup.show(); - final Timer t = new Timer(750, new ActionListener() { - - public void actionPerformed(ActionEvent _evt) { - popup.hide(); - } - }); - t.setRepeats(false); - t.start(); - - } - // boite de dialogue pour l'editeur d'expression. - else if ("EDIT".equals(_ae.getActionCommand())) { - editFormula(); - } - - } - }); + menu_ = new FormulaPopupMenu(); } - menu_.show(this, _e.getX(), _e.getY()); + menu_.update(); + menu_.show(_comp, _x, _y); } + /** + * @return Le conteneur d'expression associ\xE9. + */ public final CtuluExpr getExpr() { return ((CtuluExprStringValidator) getStringValidator()).getExpr(); } + @Override public void setStringValidator(final BuStringValidator _validator) { if (_validator instanceof CtuluExprStringValidator) { super.setStringValidator(_validator); Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluValueEditorDefaults.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluValueEditorDefaults.java 2011-07-08 14:01:24 UTC (rev 6326) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluValueEditorDefaults.java 2011-07-08 14:02:45 UTC (rev 6327) @@ -26,6 +26,11 @@ */ public static final CtuluValueEditorString STRING_EDITOR = new CtuluValueEditorString(); + /** + * Editeur avec formule pour les chaines + */ + public static final CtuluValueEditorString EXPR_STRING_EDITOR = new CtuluValueEditorString(true); + private CtuluValueEditorDefaults() { super(); } Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluValueEditorI.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluValueEditorI.java 2011-07-08 14:01:24 UTC (rev 6326) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluValueEditorI.java 2011-07-08 14:02:45 UTC (rev 6327) @@ -13,23 +13,56 @@ import javax.swing.table.TableCellEditor; /** + * Une interface pour editer une valeur. Cr\xE9e le composant pour \xE9diter la + * valeur. L'editeur peut ou non g\xE9rer les formules. + * * @author Fred Deniger * @version $Id: CtuluValueEditorI.java,v 1.3 2007-03-09 08:37:37 deniger Exp $ */ public interface CtuluValueEditorI { + /** + * @return La classe de la valeur g\xE9r\xE9e par cet \xE9diteur + */ Class getDataClass(); + /** + * Affecte la valeur au composant cr\xE9\xE9 par cet \xE9diteur. La valeur doit \xEAtre + * de type getDataClass(). + * + * @param _s La valeur + * @param _comp Le composant. + */ void setValue(Object _s,Component _comp); + /** + * @param _o La valeur + * @return La valeur pass\xE9e traduite sous forme de chaine + */ String toString(Object _o); + /** + * @param _c Le composant cr\xE9\xE9 par cet editeur. + * @return True : Si la chaine saisie au niveau du composant est vide. + */ boolean isEmpty(Component _c); + /** + * @return True : Si la valeur est \xE9ditable par l'\xE9diteur. + */ boolean isEditable(); + /** + * @param _comp Le composant cr\xE9\xE9 par cet editeur. + * @return La chaine brute saisie au niveau du composant + */ String getStringValue(Component _comp); + /** + * @param _comp Le composant cr\xE9\xE9 par cet editeur. + * @return La valeur obtenue. La valeur peut \xEAtre de type getDataClass() ou + * CtuluExpr si le composant utilise un editeur d'expression. + */ Object getValue(Component _comp); /** @@ -38,10 +71,8 @@ JComponent createEditorComponent(); /** - * Retourne le composant pour editer la valeur en utilisant des variables lors - * de l'\xE9dition, telles que 'old' pour la valeur avant \xE9dition. Utilise les - * formules. Ce composant s'utilise pour la modification simultan\xE9e de plusieurs - * valeurs. + * Retourne un composant commun. Ce composant s'utilise pour la modification + * simultan\xE9e de plusieurs valeurs. * * @return Le composant */ @@ -53,14 +84,27 @@ TableCellEditor createTableEditorComponent(); /** - * @return Le composant pour \xE9diter la valeur avec formule, adapt\xE9 \xE0 un tableau. + * @return Le composant commun pour \xE9diter la valeur, adapt\xE9 \xE0 un tableau. */ TableCellEditor createCommonTableEditorComponent(); + /** + * @param _comp Le composant cr\xE9\xE9 par cet editeur. + * @return True : Si le format est correct et que la valeur est dans les bornes + * autoris\xE9es pour le composant. + */ boolean isValueValidFromComponent(Component _comp); + /** + * @return Le message d\xE9livr\xE9 en cas de valeur en dehors des bornes autoris\xE9es. + */ String getValidationMessage(); + /** + * @param _o La valeur a tester. + * @return True : Si la format est correct et que la valeur est dans les bornes + * autoris\xE9es. + */ boolean isValid(Object _o); } \ No newline at end of file Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluValueEditorString.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluValueEditorString.java 2011-07-08 14:01:24 UTC (rev 6326) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/editor/CtuluValueEditorString.java 2011-07-08 14:02:45 UTC (rev 6327) @@ -15,30 +15,47 @@ import com.memoire.bu.BuTableCellEditor; import com.memoire.bu.BuTextField; +import com.memoire.bu.BuValueValidator; +import org.fudaa.ctulu.CtuluExpr; +import org.fudaa.ctulu.CtuluExprStringValidator; +import org.fudaa.ctulu.CtuluExprStringValidators; +import org.fudaa.ctulu.CtuluExprValueValidator; import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.CtuluValueValidator; /** - * @author Fred Deniger + * Un editeur pour une string, sous forme standard ou sous forme de formule. + * + * @author Fred Deniger, mar...@de... * @version $Id: CtuluValueEditorString.java,v 1.4 2007-03-09 08:37:37 deniger Exp $ */ public final class CtuluValueEditorString implements CtuluValueEditorI { + protected final CtuluExpr expr_; + + boolean isEditable_ = true; + + protected BuValueValidator val_; + // Le string validator si l'editeur accepte les expressions. + protected CtuluExprStringValidator stringVal_; + public Class getDataClass() { return String.class; } - - public String getValidationMessage() { + if(val_ instanceof CtuluValueValidator) { + return ((CtuluValueValidator)val_).getDescription(); + } return null; } public boolean isValueValidFromComponent(final Component _comp){ - return isValid(((JTextField) _comp).getText().trim()); + return ((BuTextField) _comp).getValue() != null; } public boolean isEmpty(final Component _c){ @@ -46,30 +63,84 @@ return txt == null || txt.trim().length() == 0; } + /** + * Un editeur ne g\xE9rant pas les formules. + */ public CtuluValueEditorString() { + this(false); + } + /** + * Un editeur g\xE9rant ou non les formules. + * @param _formule True : G\xE8re les formules. + */ + public CtuluValueEditorString(final boolean _formule) { + expr_ = _formule ? new CtuluExpr() : null; + if (expr_!=null) { + stringVal_=new CtuluExprStringValidators.StringOption(expr_); + } } public boolean isEditable(){ - return true; + return isEditable_; } + /** + * Teste la valeur pass\xE9e. On consid\xE8re le dernier string validator si + * les formules sont autoris\xE9es. + * @param _s La chaine + * @return + */ public boolean isValid(final String _s){ + if (expr_!=null) { + if (stringVal_!=null) + return stringVal_.isStringValid(_s); +// if (!(expr_.getParser().getValueAsObject() instanceof String)) +// return false; +// return !expr_.getParser().hasError(); + } return true; } public Object getValue(final Component _comp){ - return getStringValue(_comp); + return ((BuTextField) _comp).getValue(); } public boolean isValid(final Object _o){ - return isValid(_o.toString()); + return isValid(_o == null ? null :_o.toString()); } public JComponent createCommonEditorComponent() { - return createEditorComponent(); + BuTextField r = null; + if (isEditable_ && expr_ != null) { + final CtuluExpr exp = new CtuluExpr(expr_); + + stringVal_.setExpressionExpected(false); + r = new CtuluExprTextField(stringVal_); + if (val_ != null) { + r.setValueValidator(new CtuluExprValueValidator(val_)); + } + + } else { + r = new BuTextField(); + if (val_ != null) { + r.setValueValidator(val_); + } + } + r.setColumns(10); + r.setEditable(isEditable_); + + return r; } + public void setEditable(final boolean _isEditable) { + isEditable_ = _isEditable; + } + + public void setVal(final BuValueValidator _val) { + val_ = _val; + } + public void setValue(final Object _s,final Component _comp){ ((JTextField) _comp).setText(toString(_s)); } @@ -91,9 +162,7 @@ } public JComponent createEditorComponent(){ - final BuTextField r = new BuTextField(); - r.setColumns(10); - return r; + return createCommonEditorComponent(); } } \ No newline at end of file Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesCommonEditorPanel.java =================================================================== --- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesCommonEditorPanel.java 2011-07-08 14:01:24 UTC (rev 6326) +++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluValuesCommonEditorPanel.java 2011-07-08 14:02:45 UTC (rev 6327) @@ -19,16 +19,22 @@ import com.memoire.bu.BuGridLayout; import com.memoire.bu.BuTextField; +import com.memoire.fu.FuLib; import java.awt.BorderLayout; import javax.swing.JPanel; import org.fudaa.ctulu.CtuluCommandComposite; import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluExpr; +import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluLibArray; import org.fudaa.ctulu.CtuluParser; +import org.fudaa.ctulu.collection.CtuluArrayDouble; +import org.fudaa.ctulu.collection.CtuluArrayInteger; +import org.fudaa.ctulu.collection.CtuluArrayObject; import org.fudaa.ctulu.collection.CtuluCollection; import org.fudaa.ctulu.collection.CtuluCollectionDoubleEdit; +import org.fudaa.ctulu.editor.CtuluExprTextField; import org.fudaa.ctulu.editor.CtuluValueEditorI; /** @@ -133,6 +139,14 @@ // on construit les labels et les editeurs for (int i = 0; i < comps_.length; i++) { comps_[i] = editors_[i].createCommonEditorComponent(); + // Initialisation avec des variables "i" et "old" + if (comps_[i] instanceof CtuluExprTextField) { + CtuluExprTextField tfExpr=(CtuluExprTextField)comps_[i]; + tfExpr.setFormulaMenuAsButton(true); + tfExpr.getExpr().addVar("i", CtuluLib.getS("L'indice")); + CtuluParser.addOldVar(tfExpr.getExpr()); + + } final boolean isCommon = (CtuluLibArray.isEmpty(_idx) || idx_.length == 1) ? true : values_[i].isSameValues(idx_); if (isCommon) { oldValues_[i] = values_[i].getObjectValueAt(_idx == null ? 0 : _idx[0]); @@ -175,16 +189,25 @@ final Object o = editors_[i].getValue(comps_[i]); if (o instanceof CtuluExpr) { final CtuluParser exp = ((CtuluExpr) o).getParser(); - final org.nfunk.jep.Variable v = exp.getVar(CtuluParser.getOldVariable()); - final double[] newD = new double[idx_ == null ? values_[i].getSize() : idx_.length]; - for (int k = newD.length - 1; k >= 0; k--) { - v.setValue(values_[i].getObjectValueAt(idx_ == null ? k : idx_[k])); - newD[k] = exp.getValue(); + final org.nfunk.jep.Variable vold = exp.getVar(CtuluParser.getOldVariable()); + final org.nfunk.jep.Variable vind = exp.getVar("i"); +// final double[] newD = new double[idx_ == null ? values_[i].getSize() : idx_.length]; + final Object[] newVals = new Object[idx_ == null ? values_[i].getSize() : idx_.length]; + for (int k = newVals.length - 1; k >= 0; k--) { + if (vold!=null) + vold.setValue(values_[i].getObjectValueAt(idx_ == null ? k : idx_[k])); + if (vind!=null) + vind.setValue(new Integer(k+1)); + newVals[k]=exp.getValueAsObject(); +// newD[k] = exp.getValue(); } if (idx_ == null) { - ((CtuluCollectionDoubleEdit) values_[i]).setAll(newD, cmp); + values_[i].setAllObject(CtuluLibArray.fillIncremental(new int[newVals.length],0),newVals,cmp); +// ((CtuluCollectionDoubleEdit) values_[i]).setAll(newVals, cmp); +// ((CtuluCollectionDoubleEdit) values_[i]).setAll(newVals, cmp); } else { - ((CtuluCollectionDoubleEdit) values_[i]).set(idx_, newD, cmp); +// ((CtuluCollectionDoubleEdit) values_[i]).set(idx_, newVals, cmp); + values_[i].setAllObject(idx_, newVals, cmp); } } else { if (idx_ == null) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-07-08 14:03:28
|
Revision: 6328 http://fudaa.svn.sourceforge.net/fudaa/?rev=6328&view=rev Author: bmarchan Date: 2011-07-08 14:03:22 +0000 (Fri, 08 Jul 2011) Log Message: ----------- Internationalisation Modified Paths: -------------- trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsEditorPanel.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsMultiEditorPanel.java trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt Modified: trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt =================================================================== --- trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2011-07-08 14:02:45 UTC (rev 6327) +++ trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2011-07-08 14:03:22 UTC (rev 6328) @@ -290,4 +290,5 @@ Exporter le tableau au format csv ou excel=Export table in csv or excel format Export CSV du tableau des valeurs=CSV export of values table Limite du nombre de d\xE9cimales=Limit the number of decimals -Nombre de d\xE9cimales=Number of decimals \ No newline at end of file +Nombre de d\xE9cimales=Number of decimals +Activer=Activate \ No newline at end of file Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsEditorPanel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsEditorPanel.java 2011-07-08 14:02:45 UTC (rev 6327) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsEditorPanel.java 2011-07-08 14:03:22 UTC (rev 6328) @@ -36,7 +36,7 @@ * Ajoute au panneau une checkbox pour switcher de la selection a toutes les g\xE9om\xE9tries */ private void decorePanel() { - final JCheckBox cbAllGeom=new JCheckBox(EbliLib.getS("Sur tous les \xE9lements du calque"),false); + final JCheckBox cbAllGeom=new JCheckBox(EbliLib.getS("Sur toutes les g\xE9om\xE9tries du calque"),false); cbAllGeom.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { ((EbliObjetsMultiEditorPanel)multi_).setFiltered(cbAllGeom.isSelected()); Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsMultiEditorPanel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsMultiEditorPanel.java 2011-07-08 14:02:45 UTC (rev 6327) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliObjetsMultiEditorPanel.java 2011-07-08 14:03:22 UTC (rev 6328) @@ -30,7 +30,7 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import org.fudaa.ctulu.CtuluCommandComposite; -import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ctulu.collection.CtuluCollection; import org.fudaa.ctulu.editor.CtuluValueEditorDefaults; @@ -414,10 +414,10 @@ } }); - btUp_=new BuButton(BuResource.BU.getIcon(CtuluLib.getS("monter"))); - btUp_.setToolTipText(CtuluLib.getS("D\xE9cr\xE9menter l'index")); - btDown_=new BuButton(BuResource.BU.getIcon(CtuluLib.getS("descendre"))); - btDown_.setToolTipText(CtuluLib.getS("Incr\xE9menter l'index")); + btUp_=new BuButton(BuResource.BU.getIcon("monter")); + btUp_.setToolTipText(EbliLib.getS("D\xE9cr\xE9menter l'index")); + btDown_=new BuButton(BuResource.BU.getIcon("descendre")); + btDown_.setToolTipText(EbliLib.getS("Incr\xE9menter l'index")); btUp_.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { btUpActionPerformed(); @@ -431,14 +431,14 @@ JPanel pnMove=new JPanel(); pnMove.setLayout(new FlowLayout(FlowLayout.LEFT, 2, 0)); - pnMove.add(new BuLabel(CtuluLib.getS("Changer l'ordre des g\xE9om\xE9tries"))); + pnMove.add(new BuLabel(EbliLib.getS("Changer l'ordre des g\xE9om\xE9tries"))); pnMove.add(btUp_); pnMove.add(btDown_); - JLabel lbSort=new JLabel(CtuluLib.getS("Trier les g\xE9om\xE9tries suivant")); + JLabel lbSort=new JLabel(EbliLib.getS("Trier les g\xE9om\xE9tries suivant")); cbSort_=new JComboBox(); cbSort_.addItem(""); - cbSort_.addItem("<"+CtuluLib.getS("Ordre initial")+">"); + cbSort_.addItem("<"+EbliLib.getS("Ordre initial")+">"); for (Object title : title_) { cbSort_.addItem(title.toString()); } @@ -448,7 +448,7 @@ cbSortActionPerformed(); } }); - btInvertSort_=new BuButton(CtuluLib.getS("Inverser l'ordre")); + btInvertSort_=new BuButton(EbliLib.getS("Inverser l'ordre")); btInvertSort_.setEnabled(false); btInvertSort_.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { @@ -465,7 +465,7 @@ pnReorder.setLayout(new BuVerticalLayout(2)); pnReorder.add(pnMove); pnReorder.add(pnSort); - pnReorder.setBorder(BorderFactory.createTitledBorder(CtuluLib.getS("R\xE9ordonner"))); + pnReorder.setBorder(BorderFactory.createTitledBorder(EbliLib.getS("R\xE9ordonner"))); add(pnReorder,BorderLayout.SOUTH); @@ -479,7 +479,7 @@ table_.getCellEditor().stopCellEditing(); } - final CtuluCommandComposite cmp=new CtuluCommandComposite(CtuluLib.getS("Edition des g\xE9om\xE9tries")); + final CtuluCommandComposite cmp=new CtuluCommandComposite(EbliLib.getS("Edition des g\xE9om\xE9tries")); for (int irow=0; irow < rows_.size(); irow++) { int initInd=((SortableRow) rows_.get(irow)).indZone; Modified: trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt =================================================================== --- trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt 2011-07-08 14:02:45 UTC (rev 6327) +++ trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt 2011-07-08 14:03:22 UTC (rev 6328) @@ -678,4 +678,13 @@ Nom de l'unit\xE9=Unit's name Cartographie=Cartography Affichage des coordonn\xE9es=Coordinates display -Nombre de d\xE9cimales=Number of decimals \ No newline at end of file +Nombre de d\xE9cimales=Number of decimals +Sur toutes les g\xE9om\xE9tries du calque=On all layer geometries +R\xE9ordonner=Reorder +D\xE9cr\xE9menter l'index=Decrement index +Incr\xE9menter l'index=Increment index +Changer l'ordre des g\xE9om\xE9tries=Change geometries order +Trier les g\xE9om\xE9tries suivant=Sort geometries according to +Ordre initial=Initial order +Inverser l'ordre=Reverse order +Edition des g\xE9om\xE9tries=Geometries edition This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-08-01 15:56:30
|
Revision: 6331 http://fudaa.svn.sourceforge.net/fudaa/?rev=6331&view=rev Author: bmarchan Date: 2011-08-01 15:56:23 +0000 (Mon, 01 Aug 2011) Log Message: ----------- Fix : Prise en compte du nombre de digits affich?\195?\169s seulement pour les coordonn?\195?\169es 2D (pas Z) Modified Paths: -------------- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableAction.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliAdapteurSuiviSouris.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquePanelController.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquesPanel.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/action/CalqueActionTable.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicCoordinatesTableModel.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicsEditorPanel.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSegmentsEditorPanel.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSegmentsTableModel.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleGeomVisuPanel.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/TableModelModeleAdapter.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorDefault.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorLigneBriseePanel.java trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliTableInfoPanel.java trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt Added Paths: ----------- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliCoordinateDefinition.java Removed Paths: ------------- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliCoordinateDefinition.java Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableAction.java =================================================================== --- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableAction.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableAction.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -23,7 +23,6 @@ import com.memoire.bu.BuMenu; import com.memoire.bu.BuResource; import com.memoire.bu.BuTable; -import org.fudaa.ctulu.CtuluNumberFormatDefault; import org.fudaa.ctulu.gui.CtuluPopupMenu; import org.fudaa.ctulu.gui.CtuluUIDialog; @@ -50,7 +49,7 @@ public void actionPerformed(final ActionEvent _e) { - final EbliTableInfoPanel pn = new EbliTableInfoPanel(new CtuluUIDialog(graphe_), this, CtuluNumberFormatDefault.DEFAULT_FMT); + final EbliTableInfoPanel pn = new EbliTableInfoPanel(new CtuluUIDialog(graphe_), this, null); pn.showInDialog(); } Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliAdapteurSuiviSouris.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliAdapteurSuiviSouris.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliAdapteurSuiviSouris.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -8,6 +8,7 @@ */ package org.fudaa.ebli.calque; +import org.fudaa.ebli.commun.EbliCoordinateDefinition; import java.text.DecimalFormat; import javax.swing.JLabel; import javax.units.SI; @@ -42,10 +43,10 @@ new EbliCoordinateDefinition("Z", new EbliFormatter(SI.METER)) }; - for (EbliCoordinateDefinition def : defs_) { - DecimalFormat fmt=CtuluLib.getDecimalFormat(EbliPreferences.EBLI.getIntegerProperty(EbliGISPreferencesComponent.COORDS_VISU_NB_DIGITS,2)); - ((CtuluNumberFormatDefault)def.getFormatter().getXYFormatter()).setFmt(fmt); - } + DecimalFormat fmt=CtuluLib.getDecimalFormat(EbliPreferences.EBLI.getIntegerProperty(EbliGISPreferencesComponent.COORDS_VISU_NB_DIGITS,2)); + ((CtuluNumberFormatDefault)defs_[0].getFormatter().getXYFormatter()).setFmt(fmt); + ((CtuluNumberFormatDefault)defs_[1].getFormatter().getXYFormatter()).setFmt(fmt); + ((CtuluNumberFormatDefault)defs_[2].getFormatter().getXYFormatter()).setFmt(CtuluLib.getDecimalFormat(10)); } /** Deleted: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliCoordinateDefinition.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliCoordinateDefinition.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliCoordinateDefinition.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -1,50 +0,0 @@ -package org.fudaa.ebli.calque; - -import org.fudaa.ebli.commun.EbliFormatterInterface; - -/** - * Une definition pour une coordonn\xE9e, c'est \xE0 dire son unit\xE9, son type (entier - * ou double), son nom. - * - * @author mar...@de... - * @version $Id:$ - */ -public class EbliCoordinateDefinition { - String name_; - EbliFormatterInterface fmt_; - - public EbliCoordinateDefinition(String _name, EbliFormatterInterface _fmt) { - name_=_name; - fmt_=_fmt; - } - - /** - * @return Le nom de la coordonn\xE9e. - */ - public String getName() { - return name_; - } - - /** - * @return Le formatteur pour cette coordonn\xE9e. - */ - public EbliFormatterInterface getFormatter() { - return fmt_; - } - - /** - * Definit le formatteur. - * @param _fmt Le formatteur pour l'unit\xE9. - */ - void setFormatter(EbliFormatterInterface _fmt) { - fmt_=_fmt; - } - - /** - * D\xE9finit le nom pour l'unit\xE9. - * @param _name Le nom de l'unit\xE9. - */ - void setName(String _name) { - name_=_name; - } -} Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliGISPreferencesComponent.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -7,7 +7,6 @@ import javax.swing.JLabel; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; -import org.fudaa.ctulu.CtuluLib; import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.commun.EbliPreferences; @@ -26,7 +25,7 @@ tfCoords_=BuTextField.createIntegerField(); tfCoords_.setPreferredSize(new Dimension(80,tfCoords_.getPreferredSize().height)); setLayout(new BorderLayout()); - add(new JLabel(EbliLib.getS("Nombre de d\xE9cimales")),BorderLayout.CENTER); + add(new JLabel(EbliLib.getS("Nombre maxi de d\xE9cimales")),BorderLayout.CENTER); add(tfCoords_,BorderLayout.EAST); updateComponent(); @@ -40,7 +39,7 @@ @Override public String getTitle() { - return EbliLib.getS("Affichage des coordonn\xE9es"); + return EbliLib.getS("Affichage des coordonn\xE9es 2D"); } private void valueHasChanged() { Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquePanelController.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquePanelController.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquePanelController.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -7,6 +7,7 @@ */ package org.fudaa.ebli.calque; +import org.fudaa.ebli.commun.EbliCoordinateDefinition; import java.awt.Cursor; import java.awt.Point; import java.awt.event.ActionEvent; @@ -149,20 +150,32 @@ String x; String y; String z; - if (getEbliFormatter()!=null) { - x=getEbliFormatter().getXYFormatter().format(pt.x_); - y=getEbliFormatter().getXYFormatter().format(pt.y_); - z=getEbliFormatter().getXYFormatter().format(pt.z_); + String xname; + String yname; + String zname; + EbliCoordinateDefinition[] defs=getCoordinateDefinitions(); + if (defs!=null) { + x=defs[0].getFormatter().getXYFormatter().format(pt.x_); + y=defs[1].getFormatter().getXYFormatter().format(pt.y_); + z=defs[2].getFormatter().getXYFormatter().format(pt.z_); + + xname=defs[0].getName(); + yname=defs[1].getName(); + zname=defs[2].getName(); } else { x=""+pt.x_; y=""+pt.y_; z=""+pt.z_; + + xname="X"; + yname="Y"; + zname="Z"; } - String[] vars={cqName,idxGeom,idxVertex,x,y,z}; + String[] vars={cqName,idxGeom,idxVertex,xname,x,yname,y,zname,z}; String text= - EbliResource.EBLI.getString("Accroche : Calque={0} Geom={1} Sommet={2} X={3} Y={4} Z={5} (n:Suivant, u:D\xE9crocher)", vars); + EbliResource.EBLI.getString("Accroche : Calque={0} Geom={1} Sommet={2} {3}={4} {5}={6} {7}={8} (n:Suivant, u:D\xE9crocher)", vars); pn_.setInfoText(text); } else Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquesPanel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -11,6 +11,7 @@ */ package org.fudaa.ebli.calque; +import org.fudaa.ebli.commun.EbliCoordinateDefinition; import java.awt.Color; import java.awt.Component; import java.awt.Container; Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/action/CalqueActionTable.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/action/CalqueActionTable.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/action/CalqueActionTable.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -44,7 +44,7 @@ public void actionPerformed(final ActionEvent _e){ final EbliTableInfoPanel t = new EbliTableInfoPanel(ui_, (EbliTableInfoTarget) model_ - .getSelectedCalque(),pnCalques_.getEbliFormatter().getXYFormatter()); + .getSelectedCalque(),pnCalques_.getCoordinateDefinitions()); t.showInDialog(); } Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicCoordinatesTableModel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicCoordinatesTableModel.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicCoordinatesTableModel.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -29,7 +29,7 @@ import org.fudaa.ctulu.gis.GISZoneCollection; import org.fudaa.ctulu.gis.GISZoneCollectionPoint; import org.fudaa.ctulu.gui.CtuluCellDoubleRenderer; -import org.fudaa.ebli.calque.EbliCoordinateDefinition; +import org.fudaa.ebli.commun.EbliCoordinateDefinition; import org.fudaa.ebli.commun.EbliLib; /** @@ -200,7 +200,7 @@ cols.getColumn(1).setCellRenderer(new CtuluCellDoubleRenderer(coordDefs_[0].getFormatter().getXYFormatter())); cols.getColumn(2).setCellRenderer(new CtuluCellDoubleRenderer(coordDefs_[1].getFormatter().getXYFormatter())); - // les attribut + // les attributs if (modeles_ != null) { for (int i = 0; i < modeles_.length; i++) { // L'editor @@ -210,7 +210,7 @@ } // Le renderer pour les Double if (modeles_[i].getAttribute().getDataClass().equals(Double.class)) { - cols.getColumn(3+i).setCellRenderer(new CtuluCellDoubleRenderer(coordDefs_[0].getFormatter().getXYFormatter())); + cols.getColumn(3+i).setCellRenderer(new CtuluCellDoubleRenderer(coordDefs_[2].getFormatter().getXYFormatter())); } } } Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicsEditorPanel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicsEditorPanel.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliAtomicsEditorPanel.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -18,7 +18,7 @@ import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.gui.CtuluDialogPanel; import org.fudaa.ctulu.table.CtuluTable; -import org.fudaa.ebli.calque.EbliCoordinateDefinition; +import org.fudaa.ebli.commun.EbliCoordinateDefinition; /** Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSegmentsEditorPanel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSegmentsEditorPanel.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSegmentsEditorPanel.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -11,7 +11,7 @@ import com.memoire.bu.BuBorderLayout; import com.memoire.bu.BuScrollPane; -import org.fudaa.ebli.calque.EbliCoordinateDefinition; +import org.fudaa.ebli.commun.EbliCoordinateDefinition; @SuppressWarnings("serial") public class EbliSegmentsEditorPanel extends CtuluDialogPanel Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSegmentsTableModel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSegmentsTableModel.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSegmentsTableModel.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -23,7 +23,7 @@ import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.CoordinateSequence; -import org.fudaa.ebli.calque.EbliCoordinateDefinition; +import org.fudaa.ebli.commun.EbliCoordinateDefinition; @SuppressWarnings("serial") public class EbliSegmentsTableModel extends AbstractTableModel Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleGeomVisuPanel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleGeomVisuPanel.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleGeomVisuPanel.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -18,7 +18,7 @@ import org.fudaa.ctulu.gui.CtuluDialogPanel; import org.fudaa.ctulu.table.CtuluTable; import org.fudaa.ctulu.table.CtuluTableColumnHeader; -import org.fudaa.ebli.calque.EbliCoordinateDefinition; +import org.fudaa.ebli.commun.EbliCoordinateDefinition; /** * @author Fred Deniger Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/EbliSingleObjectEditorPanel.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -45,7 +45,7 @@ import com.vividsolutions.jts.geom.CoordinateSequence; import org.fudaa.ctulu.editor.CtuluValueEditorI; import org.fudaa.ctulu.table.CtuluTable; -import org.fudaa.ebli.calque.EbliCoordinateDefinition; +import org.fudaa.ebli.commun.EbliCoordinateDefinition; /** * Un panneau d'\xE9dition d'un objet GIS unique contenu dans un calque editable @@ -150,10 +150,10 @@ // Construction des boutons de d\xE9placement des points Container btCont=new Container(); btCont.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); - BuButton btUp_=new BuButton(BuResource.BU.getIcon(EbliLib.getS("monter"))); - btUp_.setToolTipText(EbliLib.getS("D\xE9cr\xE9menter l'index du point")); - BuButton btDown_=new BuButton(BuResource.BU.getIcon(EbliLib.getS("descendre"))); - btDown_.setToolTipText(EbliLib.getS("Incr\xE9menter l'index du point")); + BuButton btUp_=new BuButton(BuResource.BU.getIcon("monter")); + btUp_.setToolTipText(EbliLib.getS("D\xE9cr\xE9menter l'index")); + BuButton btDown_=new BuButton(BuResource.BU.getIcon("descendre")); + btDown_.setToolTipText(EbliLib.getS("Incr\xE9menter l'index")); btUp_.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int[] newSelection=modelData_.movePoints(table_.getSelectedRows(), -1); Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/TableModelModeleAdapter.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/TableModelModeleAdapter.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/TableModelModeleAdapter.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -40,7 +40,9 @@ import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.CoordinateSequence; import com.vividsolutions.jts.geom.Geometry; -import org.fudaa.ebli.calque.EbliCoordinateDefinition; +import org.fudaa.ctulu.gui.CtuluCellBooleanRenderer; +import org.fudaa.ctulu.gui.CtuluCellDoubleRenderer; +import org.fudaa.ebli.commun.EbliCoordinateDefinition; import org.fudaa.ebli.commun.EbliLib; /** @@ -69,22 +71,6 @@ public class TableModelModeleAdapter implements TableModel { /** - * Le renderer des cellules du tableau. - */ - protected class Renderer extends DefaultTableCellRenderer { - - @Override - public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, - int column) { - if(value instanceof Double) - return super.getTableCellRendererComponent(table, coordDefs_[0].getFormatter().getXYFormatter().format((Double) value), isSelected, hasFocus, row, column); - if(value instanceof Boolean) - return table.getDefaultRenderer(Boolean.class).getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - } - } - - /** * Classe interface permettant de faire le lien entre la classe m\xE8re et les * classes g\xE9rant les \xE9tats sp\xE9cifiques. * Utilisation du design pattern Stat. @@ -740,23 +726,29 @@ */ public void updateEditorAndRenderer(JTable _table) { TableColumnModel cols=_table.getColumnModel(); - - // Renderer \\ - Renderer renderer=new Renderer(); - for(int i=0;i<cols.getColumnCount();i++) - cols.getColumn(i).setCellRenderer(renderer); - // Editors \\ // Colonnes X,Y TableCellEditor editorXY=CtuluValueEditorDefaults.DOUBLE_EDITOR.createTableEditorComponent(); cols.getColumn(1).setCellEditor(editorXY); cols.getColumn(2).setCellEditor(editorXY); + cols.getColumn(1).setCellRenderer(new CtuluCellDoubleRenderer(coordDefs_[0].getFormatter().getXYFormatter())); + cols.getColumn(2).setCellRenderer(new CtuluCellDoubleRenderer(coordDefs_[1].getFormatter().getXYFormatter())); + // Colonnes des attributs if (modele_!=null) { for (int i=0; i<mapColonne_.size(); i++) { CtuluValueEditorI editor=mapColonne_.get(3+i).attribute.getEditor(); - if (editor!=null) + if (editor!=null) { cols.getColumn(3+i).setCellEditor(editor.createTableEditorComponent()); + } + // Le renderer pour les Double + if (mapColonne_.get(3+i).attribute.getDataClass().equals(Double.class)) { + cols.getColumn(3+i).setCellRenderer(new CtuluCellDoubleRenderer(coordDefs_[2].getFormatter().getXYFormatter())); + } + // Pour un Boolean + else if (mapColonne_.get(3+i).attribute.getDataClass().equals(Boolean.class)) { + cols.getColumn(3+i).setCellRenderer(new CtuluCellBooleanRenderer()); + } } } } Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorDefault.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorDefault.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -59,7 +59,7 @@ import com.memoire.bu.BuResource; import com.memoire.fu.Fu; import com.memoire.fu.FuLog; -import org.fudaa.ebli.calque.EbliCoordinateDefinition; +import org.fudaa.ebli.commun.EbliCoordinateDefinition; import org.fudaa.ebli.calque.ZCalqueGeometry.SelectionMode; /** Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorLigneBriseePanel.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorLigneBriseePanel.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZEditorLigneBriseePanel.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -50,7 +50,7 @@ import com.memoire.fu.Fu; import com.memoire.fu.FuLog; import org.fudaa.ctulu.CtuluNumberFormatI; -import org.fudaa.ebli.calque.EbliCoordinateDefinition; +import org.fudaa.ebli.commun.EbliCoordinateDefinition; /** * Un panneau d'\xE9dition d'une ligne bris\xE9e qui s'affiche lorsque l'outil ligne bris\xE9e est s\xE9lectionn\xE9. Copied: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliCoordinateDefinition.java (from rev 6324, trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/EbliCoordinateDefinition.java) =================================================================== --- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliCoordinateDefinition.java (rev 0) +++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliCoordinateDefinition.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -0,0 +1,50 @@ +package org.fudaa.ebli.commun; + +import org.fudaa.ebli.commun.EbliFormatterInterface; + +/** + * Une definition pour une coordonn\xE9e, c'est \xE0 dire son unit\xE9, son type (entier + * ou double), son nom. + * + * @author mar...@de... + * @version $Id$ + */ +public class EbliCoordinateDefinition { + String name_; + EbliFormatterInterface fmt_; + + public EbliCoordinateDefinition(String _name, EbliFormatterInterface _fmt) { + name_=_name; + fmt_=_fmt; + } + + /** + * @return Le nom de la coordonn\xE9e. + */ + public String getName() { + return name_; + } + + /** + * @return Le formatteur pour cette coordonn\xE9e. + */ + public EbliFormatterInterface getFormatter() { + return fmt_; + } + + /** + * Definit le formatteur. + * @param _fmt Le formatteur pour l'unit\xE9. + */ + public void setFormatter(EbliFormatterInterface _fmt) { + fmt_=_fmt; + } + + /** + * D\xE9finit le nom pour l'unit\xE9. + * @param _name Le nom de l'unit\xE9. + */ + void setName(String _name) { + name_=_name; + } +} Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliTableInfoPanel.java =================================================================== --- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliTableInfoPanel.java 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/commun/EbliTableInfoPanel.java 2011-08-01 15:56:23 UTC (rev 6331) @@ -8,12 +8,8 @@ package org.fudaa.ebli.commun; import java.awt.Component; -import java.awt.Frame; -import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; import java.awt.event.ItemListener; -import java.awt.event.KeyEvent; import java.util.Arrays; import javax.swing.BorderFactory; @@ -31,9 +27,13 @@ import javax.swing.table.TableModel; import com.memoire.bu.*; +import java.awt.Frame; +import java.awt.event.ActionEvent; +import java.awt.event.ItemEvent; +import java.awt.event.KeyEvent; +import javax.units.SI; import org.fudaa.ctulu.CtuluLib; -import org.fudaa.ctulu.CtuluNumberFormatI; import org.fudaa.ctulu.CtuluUI; import org.fudaa.ctulu.gui.CtuluCellTextDecimalRenderer; import org.fudaa.ctulu.gui.CtuluLibSwing; @@ -151,12 +151,24 @@ CtuluTableSortModel sortedModel_; BuTable table_; final CtuluUI ui_; - + /** - * @param _layer + * Un constructeur, avec les formats pour les colonnes X et Y et Z. Le format + * de Z est aussi utilis\xE9 pour les autres colonnes Double. + * @param _defs Les definitions de coordonn\xE9es. + * @param _layer Le calque cible. */ - public EbliTableInfoPanel(final CtuluUI _ui, final EbliTableInfoTarget _layer, CtuluNumberFormatI _fmt) { + public EbliTableInfoPanel(final CtuluUI _ui, final EbliTableInfoTarget _layer, EbliCoordinateDefinition[] _defs) { super(); + + if (_defs==null) { + _defs=new EbliCoordinateDefinition[]{ + new EbliCoordinateDefinition("X", new EbliFormatter(SI.METER)), + new EbliCoordinateDefinition("Y", new EbliFormatter(SI.METER)), + new EbliCoordinateDefinition("Z", new EbliFormatter(SI.METER)) + }; + } + target_ = _layer; ui_ = _ui; sortedModel_ = new CtuluTableSortModel(); @@ -179,7 +191,15 @@ int modelIdx = column.getModelIndex(); if (table_.getModel().getColumnClass(modelIdx).equals(Double.class)) { CtuluCellTextDecimalRenderer renderer=new CtuluCellTextDecimalRenderer(); - renderer.setFormatter(_fmt); + if (_defs[0].getName().equalsIgnoreCase(table_.getModel().getColumnName(modelIdx))) { + renderer.setFormatter(_defs[0].getFormatter().getXYFormatter()); + } + else if (_defs[1].getName().equalsIgnoreCase(table_.getModel().getColumnName(modelIdx))) { + renderer.setFormatter(_defs[1].getFormatter().getXYFormatter()); + } + else { + renderer.setFormatter(_defs[2].getFormatter().getXYFormatter()); + } column.setCellRenderer(renderer); } colModel_.addColumn(column); Modified: trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt =================================================================== --- trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt 2011-07-08 14:14:18 UTC (rev 6330) +++ trunk/framework/ebli-common/src/main/resources/org/fudaa/ebli/ressource/ebli_en.fr_txt 2011-08-01 15:56:23 UTC (rev 6331) @@ -677,8 +677,8 @@ Nom du titre=Title's name Nom de l'unit\xE9=Unit's name Cartographie=Cartography -Affichage des coordonn\xE9es=Coordinates display -Nombre de d\xE9cimales=Number of decimals +Affichage des coordonn\xE9es 2D=2D coordinates display +Nombre maxi de d\xE9cimales=Max number of decimals Sur toutes les g\xE9om\xE9tries du calque=On all layer geometries R\xE9ordonner=Reorder D\xE9cr\xE9menter l'index=Decrement index This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-08-02 09:21:57
|
Revision: 6334 http://fudaa.svn.sourceforge.net/fudaa/?rev=6334&view=rev Author: bmarchan Date: 2011-08-02 09:21:50 +0000 (Tue, 02 Aug 2011) Log Message: ----------- Add : Constructeur composant pr?\195?\169f?\195?\169rences sans cat?\195?\169gorie Modified Paths: -------------- trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuContainerPreferencesPanel.java trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java trunk/framework/fudaa-common/src/main/resources/org/fudaa/fudaa/ressource/fudaa_en.fr_txt Modified: trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuContainerPreferencesPanel.java =================================================================== --- trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuContainerPreferencesPanel.java 2011-08-02 08:17:30 UTC (rev 6333) +++ trunk/framework/ctulu-bu/src/main/java/com/memoire/bu/BuContainerPreferencesPanel.java 2011-08-02 09:21:50 UTC (rev 6334) @@ -22,6 +22,15 @@ private String title_; private boolean isDirty_=false; + /** + * Construction d'un panneau avec cat\xE9gorie par d\xE9faut. + * @param _title Le titre du panneau + * @param _cmps Les composants du panneau. + */ + public BuContainerPreferencesPanel(String _title, BuAbstractPreferencesComponent[] _cmps) { + this(null,_title,_cmps); + } + public BuContainerPreferencesPanel(String _category, String _title, BuAbstractPreferencesComponent[] _cmps) { cmps_=_cmps; category_=_category; @@ -44,6 +53,9 @@ @Override public String getCategory() { + if (category_==null) { + return super.getCategory(); + } return category_; } Modified: trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt =================================================================== --- trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2011-08-02 08:17:30 UTC (rev 6333) +++ trunk/framework/ctulu-common/src/main/resources/org/fudaa/ctulu/ctulu_en.fr_txt 2011-08-02 09:21:50 UTC (rev 6334) @@ -289,6 +289,6 @@ Exporter le tableau=Export table Exporter le tableau au format csv ou excel=Export table in csv or excel format Export CSV du tableau des valeurs=CSV export of values table -Limite du nombre de d\xE9cimales=Limit the number of decimals +Limite du nombre de d\xE9cimales \xE0=Limit the number of decimals to Nombre de d\xE9cimales=Number of decimals Activer=Activate \ No newline at end of file Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java =================================================================== --- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java 2011-08-02 08:17:30 UTC (rev 6333) +++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java 2011-08-02 09:21:50 UTC (rev 6334) @@ -3,15 +3,11 @@ import com.memoire.bu.BuAbstractPreferencesComponent; import com.memoire.bu.BuPreferences; import com.memoire.bu.BuTextField; -import com.memoire.bu.BuVerticalLayout; -import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JCheckBox; -import javax.swing.JLabel; -import javax.swing.JPanel; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; import org.fudaa.ctulu.CtuluLib; @@ -23,7 +19,6 @@ public class CtuluTablePreferencesComponent extends BuAbstractPreferencesComponent { public static final String COORDS_EXPORT_NB_DIGITS="gis.coords.export.nbdigits"; private BuTextField tfExport_; - private JLabel lbExport_; private JCheckBox cbLimit_; private int exportNbDec; @@ -32,16 +27,11 @@ tfExport_=BuTextField.createIntegerField(); tfExport_.setPreferredSize(new Dimension(80,tfExport_.getPreferredSize().height)); - lbExport_=new JLabel(CtuluLib.getS("Nombre de d\xE9cimales")); - JPanel pnDigits=new JPanel(); - pnDigits.setLayout(new FlowLayout(FlowLayout.LEFT)); - pnDigits.add(lbExport_,BorderLayout.CENTER); - pnDigits.add(tfExport_,BorderLayout.EAST); - cbLimit_=new JCheckBox(CtuluLib.getS("Limite du nombre de d\xE9cimales")); - setLayout(new BuVerticalLayout()); + cbLimit_=new JCheckBox(CtuluLib.getS("Limite du nombre de d\xE9cimales \xE0")); + setLayout(new FlowLayout(FlowLayout.LEFT,2,0)); add(cbLimit_); - add(pnDigits); + add(tfExport_); updateComponent(); @@ -54,7 +44,6 @@ cbLimit_.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tfExport_.setEnabled(cbLimit_.isSelected()); - lbExport_.setEnabled(cbLimit_.isSelected()); setSavabled(!cbLimit_.isSelected() || tfExport_.getValue()!=null); setModified(true); } @@ -85,13 +74,11 @@ if (exportNbDec==-1) { tfExport_.setValue(3); tfExport_.setEnabled(false); - lbExport_.setEnabled(false); cbLimit_.setSelected(false); } else { tfExport_.setValue(exportNbDec); tfExport_.setEnabled(true); - lbExport_.setEnabled(true); cbLimit_.setSelected(true); } } Modified: trunk/framework/fudaa-common/src/main/resources/org/fudaa/fudaa/ressource/fudaa_en.fr_txt =================================================================== --- trunk/framework/fudaa-common/src/main/resources/org/fudaa/fudaa/ressource/fudaa_en.fr_txt 2011-08-02 08:17:30 UTC (rev 6333) +++ trunk/framework/fudaa-common/src/main/resources/org/fudaa/fudaa/ressource/fudaa_en.fr_txt 2011-08-02 09:21:50 UTC (rev 6334) @@ -325,4 +325,5 @@ Sauvegarde des donn\xE9es=Data saving Sauvegarde donn\xE9es compl\xE9mentaires=Visualisation data saving Modifications correctements enregistr\xE9es=Modifications saved with sucess -Le temps n'a pas \xE9t\xE9 trouv\xE9 pour la courbe {0}=The time model has not be found for the curve {0} \ No newline at end of file +Le temps n'a pas \xE9t\xE9 trouv\xE9 pour la courbe {0}=The time model has not be found for the curve {0} +Export fichier Mascaret=Mascaret file export \ 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: <bma...@us...> - 2011-08-02 14:43:27
|
Revision: 6337 http://fudaa.svn.sourceforge.net/fudaa/?rev=6337&view=rev Author: bmarchan Date: 2011-08-02 14:43:21 +0000 (Tue, 02 Aug 2011) Log Message: ----------- Add : CtuluLib.getNoEffectDecimalFormat() Modified Paths: -------------- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLib.java trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLib.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLib.java 2011-08-02 09:22:53 UTC (rev 6336) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLib.java 2011-08-02 14:43:21 UTC (rev 6337) @@ -84,7 +84,17 @@ return res; } - + /** + * Un format d\xE9cimal sans effet, equivalent \xE0 Double.toString(), avec s\xE9parateur + * "point". + * @return Le format d\xE9cimal. + */ + public static DecimalFormat getNoEffectDecimalFormat() { + DecimalFormat res=getDecimalFormat(); + res.setMinimumFractionDigits(1); + res.setMaximumFractionDigits(Integer.MAX_VALUE); + return res; + } /** * @return true si la locale est egale a "fr". Modified: trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java =================================================================== --- trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java 2011-08-02 09:22:53 UTC (rev 6336) +++ trunk/framework/ctulu-ui/src/main/java/org/fudaa/ctulu/gui/CtuluTablePreferencesComponent.java 2011-08-02 14:43:21 UTC (rev 6337) @@ -26,7 +26,7 @@ options_=BuPreferences.BU; tfExport_=BuTextField.createIntegerField(); - tfExport_.setPreferredSize(new Dimension(80,tfExport_.getPreferredSize().height)); + tfExport_.setPreferredSize(new Dimension(50,tfExport_.getPreferredSize().height)); cbLimit_=new JCheckBox(CtuluLib.getS("Limite du nombre de d\xE9cimales \xE0")); setLayout(new FlowLayout(FlowLayout.LEFT,2,0)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bma...@us...> - 2011-09-29 09:20:54
|
Revision: 6459 http://fudaa.svn.sourceforge.net/fudaa/?rev=6459&view=rev Author: bmarchan Date: 2011-09-29 09:20:47 +0000 (Thu, 29 Sep 2011) Log Message: ----------- Add : Contrainte de construction lors de cr?\195?\169ation de lignes bris?\195?\169es (alignement des points par touche SHIFT) Modified Paths: -------------- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/dessin/DeLigneBrisee.java trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZCalqueEditionInteraction.java trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/geometrie/GrSegment.java Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/dessin/DeLigneBrisee.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/dessin/DeLigneBrisee.java 2011-09-28 22:05:30 UTC (rev 6458) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/dessin/DeLigneBrisee.java 2011-09-29 09:20:47 UTC (rev 6459) @@ -66,6 +66,11 @@ ligne_.sommets_.enleveDernier(); } } + + public GrPoint getSommet(int _i) { + return ligne_.sommet(_i); + } + public void affiche(final Graphics2D _g2d,final TraceGeometrie _t, final boolean _rapide) { super.affiche(_g2d,_t, _rapide); _t.dessinePolyligne(_g2d,ligne_, _rapide); Modified: trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZCalqueEditionInteraction.java =================================================================== --- trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZCalqueEditionInteraction.java 2011-09-28 22:05:30 UTC (rev 6458) +++ trunk/framework/ebli-2d/src/main/java/org/fudaa/ebli/calque/edition/ZCalqueEditionInteraction.java 2011-09-29 09:20:47 UTC (rev 6459) @@ -40,8 +40,10 @@ import org.fudaa.ebli.trace.TraceLigne; import com.memoire.bu.BuResource; +import java.util.HashSet; import java.util.List; import org.fudaa.ctulu.gis.CtuluLibGeometrie; +import org.fudaa.ebli.geometrie.GrSegment; import org.fudaa.ebli.trace.TraceIcon; import org.fudaa.ebli.trace.TraceIconModel; import org.fudaa.ebli.trace.TraceLigneModel; @@ -62,7 +64,7 @@ public abstract class FormDelegate extends MouseAdapter implements KeyListener, MouseMotionListener { /** LE dernier point d'accrochage definit */ - GrPoint ptAccro_=null; + GrPoint ptAccro_=null; /** * Enleve le dernier point saisie. */ @@ -136,6 +138,7 @@ } class FormDelegateLigneBrisee extends FormDelegate { + private HashSet<Integer> keyPressed_=new HashSet<Integer>(); // Les modifiers ZEditionAttibutesContainer.LigneBriseeData data_; @@ -168,6 +171,7 @@ isFerme_ = _isFerme; } + @Override public void removeLastSaisie() { // s'il reste plus qu'un point on annule la saisie if (ligne_.getNombre() <= 1) { @@ -243,6 +247,7 @@ } } + @Override public void effaceDessin() { if (isPaint_ && enCours()) { final Graphics g = getGraphics(); @@ -275,43 +280,78 @@ return EbliLib.getS(isFerme_ ? "Polygone" : "Polyligne"); } + @Override public void mouseDragged(final MouseEvent _e) { mouseMoved(_e); } + @Override public void mouseEntered(final MouseEvent _e) { if (enCours()) { effaceDessin(); } } + @Override public void mouseExited(final MouseEvent _e) { if (enCours()) { effaceDessin(); } } + @Override public void mouseMoved(final MouseEvent _e) { updateMouseMoved(_e.getX(), _e.getY()); } + + @Override + public void keyPressed(KeyEvent _e) { + keyPressed_.add(_e.getKeyCode()); + } + @Override + public void keyReleased(KeyEvent _e) { + keyPressed_.remove(_e.getKeyCode()); + } + + /** + * Corrige les coordonn\xE9es ecran de la souris si on force l'alignement. + * Sinon retourne le point en entr\xE9e. + * @param _pt Le point avant correction. + * @return Le point apr\xE8s correction. + */ + private GrPoint alignPoint(GrPoint _pt) { + if (ligne_.getNombre()<2) return _pt; + + if (keyModifiers_.contains(KeyEvent.VK_SHIFT) || keyPressed_.contains(KeyEvent.VK_SHIFT)) { + GrSegment sgprec=new GrSegment(); + sgprec.o_=ligne_.getSommet(ligne_.getNombre() - 2).applique(getVersEcran()); + sgprec.e_=ligne_.getSommet(ligne_.getNombre() - 1).applique(getVersEcran()); + return sgprec.pointPlusProcheSurDroiteXY(_pt); + } + + return _pt; + } + protected void updateMouseMoved(final int _x, final int _y) { if (enCours()) { effaceDessin(); ligne_.affiche((Graphics2D) getGraphics(), tl_, isRapide(), tmp_, getVersEcran()); tmp_.initialiseAvec(pointFin_); tmp_.autoApplique(getVersEcran()); + GrPoint pt=alignPoint(new GrPoint(_x,_y,0)); + if (!isFerme_ || ligne_.getNombre() == 1) { - dessineTrait(_x, _y, (int) tmp_.x_, (int) tmp_.y_, -1, -1); + dessineTrait((int)pt.x_, (int)pt.y_, (int) tmp_.x_, (int) tmp_.y_, -1, -1); } else { final int x1Tmp = (int) tmp_.x_; final int y1Tmp = (int) tmp_.y_; tmp_.initialiseAvec(pointDep_); tmp_.autoApplique(getVersEcran()); - dessineTrait(_x, _y, x1Tmp, y1Tmp, (int) tmp_.x_, (int) tmp_.y_); + dessineTrait((int)pt.x_, (int)pt.y_, x1Tmp, y1Tmp, (int) tmp_.x_, (int) tmp_.y_); } - tmp_.x_ = _x; - tmp_.y_ = _y; + tmp_.x_ = pt.x_; + tmp_.y_ = pt.y_; tmp_.autoApplique(getVersReel()); if (support_!=null && ptAccro_==null) { @@ -326,11 +366,13 @@ } } + @Override void addCurrentForme() { if (polyAdded() && ligne_ != null) ligne_.affiche((Graphics2D) getGraphics(), tl_, isRapide(), tmp_, getVersEcran()); } + @Override public void mouseReleased(final MouseEvent _e) { effaceDessin(); if (ligne_ == null) { @@ -345,6 +387,9 @@ else pointDep_=ptAccro_; + pointDep_.autoApplique(getVersEcran()); + pointDep_=alignPoint(pointDep_).applique(getVersReel()); + pointFin_ = pointDep_; ligne_.ajoute(pointDep_); if (data_ != null) { @@ -363,6 +408,10 @@ pointFin_ = getPointReel(_e); else pointFin_=ptAccro_; + + pointFin_.autoApplique(getVersEcran()); + pointFin_=alignPoint(pointFin_).applique(getVersReel()); + ligne_.ajoute(pointFin_); if (data_ != null) { data_.addPoint(ptAccro_); @@ -384,6 +433,7 @@ mouseMoved(_e); } + @Override public void paintComponent(final Graphics _g) { effaceDessin(); if (ligne_ != null) { @@ -679,7 +729,7 @@ grandRayon_=Math.abs(pt.x_-origine_.x_); petitRayon_=Math.abs(pt.y_-origine_.y_); // Si la touche Ctrl est pressee, on est en mode 'cercle' - if (keyPresse_.contains(KeyEvent.VK_CONTROL)) { + if (keyPresse_.contains(KeyEvent.VK_SHIFT) || keyModifiers_.contains(KeyEvent.VK_SHIFT)) { grandRayon_ = (grandRayon_ + petitRayon_)/2; petitRayon_ = grandRayon_; } @@ -708,6 +758,7 @@ * * @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent) */ + @Override public void keyPressed(KeyEvent _e) { if (!keyPresse_.contains(_e.getKeyCode())){ keyPresse_.add(_e.getKeyCode()); } @@ -718,6 +769,7 @@ * * @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent) */ + @Override public void keyReleased(KeyEvent _e) { if (keyPresse_.contains(_e.getKeyCode())) keyPresse_.remove((Integer)_e.getKeyCode()); @@ -728,6 +780,7 @@ * * @see java.awt.event.KeyListener#keyTyped(java.awt.event.KeyEvent) */ + @Override public void keyTyped(KeyEvent _e) {} public void setDataAttributs(List<GISAttributeInterface> _attEditable, List<JComponent> _comps){ @@ -1092,7 +1145,7 @@ if (ptAccro_!=null) pointFin_=ptAccro_; // Si la touche Ctrl est pressee, on est en mode 'carre' - if (keyPresse_.contains(KeyEvent.VK_CONTROL)) { + if (keyPresse_.contains(KeyEvent.VK_SHIFT) || keyModifiers_.contains(KeyEvent.VK_SHIFT)) { double cote=(Math.abs(pointDep_.x_-pointFin_.x_)+Math.abs(pointDep_.y_-pointFin_.y_))/2; if (pointFin_.x_<pointDep_.x_) pointFin_.x_=pointDep_.x_-cote; @@ -1247,6 +1300,8 @@ /** Le double clic termine-t-il la forme en cours ? */ boolean isFormEndedByDoubleClic=true; + /** Les keys modifiers fix\xE9s par programme */ + HashSet<Integer> keyModifiers_=new HashSet<Integer>(); /** * Constructeur, sans listener associ\xE9. @@ -1304,6 +1359,22 @@ isFormEndedByDoubleClic=_b; } + /** + * force les modifiers pour la saisie souris (CTRL, SHIFT, etc.). + * @param _keyModifier Le modifier \xE0 ajouter. + */ + public void forceKeyModifier(int _keyModifier) { + keyModifiers_.add(_keyModifier); + } + + /** + * release les modifiers pour la saisie souris (CTRL, SHIFT, etc.). + * @param _keyModifier Le modifier \xE0 supprimer. + */ + public void releaseKeyModifier(int _keyModifier) { + keyModifiers_.remove(_keyModifier); + } + public boolean alwaysPaint() { return true; } Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/geometrie/GrSegment.java =================================================================== --- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/geometrie/GrSegment.java 2011-09-28 22:05:30 UTC (rev 6458) +++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/geometrie/GrSegment.java 2011-09-29 09:20:47 UTC (rev 6459) @@ -163,6 +163,20 @@ r.z_ = 0.; return r; } + + /** + * Retourne le point appartenant a la droite passant par ce segment le plus proche + * du point donn\xE9 dans le plan x,y. + * @param _p Le point donn\xE9. + * @return Le point le plus proche sur la droite. + */ + public GrPoint pointPlusProcheSurDroiteXY(final GrPoint _p) { + final double d = _p.soustraction(o_).projectionXY().division(vecteur().projectionXY()); + GrPoint r; + r = o_.addition(vecteur().multiplication(d)); + r.z_ = 0.; + return r; + } public GrPoint intersectionXY(final GrSegment _s) { if (boite().intersectionXY(_s.boite()) == null) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2011-10-23 19:42:48
|
Revision: 6562 http://fudaa.svn.sourceforge.net/fudaa/?rev=6562&view=rev Author: deniger Date: 2011-10-23 19:42:41 +0000 (Sun, 23 Oct 2011) Log Message: ----------- generalisation de l'utilisation de CtuluLog Modified Paths: -------------- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLog.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLogGroup.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileOperationAbstract.java trunk/framework/dodico-common/src/main/java/org/fudaa/dodico/fortran/FileOpReadCharSimpleAbstract.java Added Paths: ----------- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluIOResult.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileOperationReaderAbstract.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileOperationWriterAbstract.java trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileReadWriteAbstract.java trunk/framework/dodico-common/src/main/java/org/fudaa/dodico/fortran/FileCharSimpleReaderAbstract.java trunk/framework/dodico-common/src/main/java/org/fudaa/dodico/fortran/FileCharSimpleWriterAbstract.java Added: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluIOResult.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluIOResult.java (rev 0) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluIOResult.java 2011-10-23 19:42:41 UTC (rev 6562) @@ -0,0 +1,95 @@ +/** + * @creation 12 mars 2003 + * @modification $Date: 2006-09-19 14:36:54 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne +* @mail de...@fu... + */ +package org.fudaa.ctulu; + +/** + * @author deniger + * @version $Id: CtuluIOOperationSynthese.java,v 1.7 2006-09-19 14:36:54 deniger Exp $ + */ +public class CtuluIOResult<T> { + + private CtuluLog log; + + private String exClose_; + + private T source_; + + public CtuluIOResult() {} + + /** + * @return true si exception lors de la fermeture des flux. + */ + public boolean containsClosingError() { + return exClose_ != null; + } + + /** + * @return true si une erreur fatale est survenue + */ + public boolean containsFatalError() { + return (log != null) && (log.containsFatalError()); + } + + /** + * @return true si message + */ + public boolean containsMessages() { + return (log != null) && (!log.isEmpty()); + } + + /** + * @return l'analyse de l'operation + */ + public CtuluLog getAnalyze() { + return log; + } + + /** + * @return le message d'erreur issu de la fermeture du(des) flux. + */ + public String getClosingException() { + return exClose_; + } + + /** + * @return la source utilise pour l'ecriture/recuperee par la lecture + */ + public T getSource() { + return source_; + } + + /** + * Ecrit sur la sortie standard les messages. + */ + public void printAnalyze() { + if (log != null) { + log.printResume(); + } + } + + /** + * @param _editor l'analyse de l'operation + */ + public void setAnalyze(final CtuluLog _editor) { + log = _editor; + } + + /** + * @param _exception le message d'exception obtenu lors de la fermeture du/des flux. + */ + public void setClosingOperation(final String _exception) { + exClose_ = _exception; + } + + /** + * @param _object La nouvelle source (resultat de la lecture ou source pour l'ecriture) + */ + public void setSource(final T _object) { + source_ = _object; + } +} \ No newline at end of file Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLog.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLog.java 2011-10-21 16:31:02 UTC (rev 6561) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLog.java 2011-10-23 19:42:41 UTC (rev 6562) @@ -30,7 +30,6 @@ */ public class CtuluLog { - /** * Constructeur par defaut */ @@ -298,13 +297,26 @@ return containsLevel(CtuluLogLevel.INFO); } + public int getNbOccurence(CtuluLogLevel level) { + int count = 0; + for (final CtuluLogRecord log : logs) { + if (level.equals(log.getLevel())) { + count++; + } + } + return count; + + } + /** * @param l le level a tester * @return true si au moins un message et de niveau l. */ public boolean containsLevel(final CtuluLogLevel l) { for (final CtuluLogRecord log : logs) { - if (l.equals(log.getLevel())) { return true; } + if (l.equals(log.getLevel())) { + return true; + } } return false; } @@ -350,19 +362,21 @@ public String getResume() { return getDesc() + "\n" + CtuluDefaultLogFormatter.formatLogs(logs); } - + public String getFatalError() { - CtuluLogRecord log = getFirstOfLevel(CtuluLogLevel.FATAL ); + CtuluLogRecord log = getFirstOfLevel(CtuluLogLevel.FATAL); return log == null ? null : CtuluDefaultLogFormatter.DEFAULT.formatLogs(log); } - + /** * @param l le level a tester * @return true si au moins un message et de niveau l. */ private CtuluLogRecord getFirstOfLevel(final CtuluLogLevel l) { for (final CtuluLogRecord log : logs) { - if (l.equals(log.getLevel())) { return log; } + if (l.equals(log.getLevel())) { + return log; + } } return null; } @@ -435,10 +449,10 @@ public void manageExceptionFromFile(final Exception _e, final String msg, final int line) { addRecord(CtuluLogLevel.ERROR, msg, line).setThrown(_e); } - public String getDesci18n() { - if (defaultResourceBundle == null) return desc; + if (defaultResourceBundle == null) + return desc; return defaultResourceBundle.getString(desc); } Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLogGroup.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLogGroup.java 2011-10-21 16:31:02 UTC (rev 6561) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/CtuluLogGroup.java 2011-10-23 19:42:41 UTC (rev 6562) @@ -1,19 +1,20 @@ package org.fudaa.ctulu; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.ResourceBundle; /** - * Manager qui indique toutes les erreurs,messages qui se sont produites pendant le chargement. + * Manager qui indique toutes les erreurs,messages qui se sont produites pendant le chargement. * * @author Adrien Hadoux */ public class CtuluLogGroup { - private List<CtuluLog> analyser = new ArrayList<CtuluLog>(); - private CtuluLog mainAnalyze = new CtuluLog(); + private List<CtuluLog> logs = new ArrayList<CtuluLog>(); + private CtuluLog mainLog = new CtuluLog(); /** * @@ -26,31 +27,65 @@ public CtuluLogGroup(ResourceBundle defaultResource) { super(); - analyser.add(mainAnalyze); + logs.add(mainLog); this.defaultResource = defaultResource; } - public void addAnalyzer(CtuluLog analyze) { - analyser.add(analyze); + public void addLog(CtuluLog analyze) { + logs.add(analyze); } - // /** - // * Ajoute un message d'erreur au tout dernier analyzer dispo. - // * - // * @param message - // */ - // public void addMessageError(final String message) { - // analyser.get(analyser.size() - 1).addError(message); - // } + public void addAll(Collection<CtuluLog> logs) { + logs.addAll(logs); + } + public void addGroup(CtuluLogGroup logGroup) { + groups.add(logGroup); + } + + public void addNotEmptyLog(CtuluLog log) { + if(log.isNotEmpty()){ + addLog(log); + } + + } + + public void addNotEmptyLogs(Collection<CtuluLog> logs) { + for (CtuluLog log : logs) { + addNotEmptyLog(log); + } + + } + + public int getNbOccurence(CtuluLogLevel level) { + int count = mainLog.getNbOccurence(level); + for (CtuluLog log : logs) { + count += log.getNbOccurence(level); + + } + for (CtuluLogGroup group : groups) { + count += group.getNbOccurence(level); + + } + return count; + } + public void clear() { - analyser.clear(); + mainLog.clear(); + for (CtuluLog log : logs) { + log.clear(); + } + logs.clear(); + for (CtuluLogGroup logGroup : groups) { + logGroup.clear(); + } + groups.clear(); } - public CtuluLog getNewAnalyser(String desc) { + public CtuluLog createNewLog(String desc) { CtuluLog analyzer = createAnalyzer(); analyzer.setDesc(desc); - analyser.add(analyzer); + logs.add(analyzer); return analyzer; } @@ -58,26 +93,38 @@ * @return true si un analyseur contient des erreur */ public boolean containsError() { - if (isContentEmpty()) { return false; } - for (CtuluLog analyze : analyser) { - if (analyze.containsFatalError() || analyze.containsErrors()) { return true; } + if (isContentEmpty()) { + return false; } + for (CtuluLog analyze : logs) { + if (analyze.containsFatalError() || analyze.containsErrors()) { + return true; + } + } if (groups != null) { for (CtuluLogGroup mng : groups) { - if (mng.containsError()) { return true; } + if (mng.containsError()) { + return true; + } } } return false; } public boolean containsFatalError() { - if (isContentEmpty()) { return false; } - for (CtuluLog analyze : analyser) { - if (analyze.containsFatalError()) { return true; } + if (isContentEmpty()) { + return false; } + for (CtuluLog analyze : logs) { + if (analyze.containsFatalError()) { + return true; + } + } if (groups != null) { for (CtuluLogGroup mng : groups) { - if (mng.containsFatalError()) { return true; } + if (mng.containsFatalError()) { + return true; + } } } return false; @@ -87,26 +134,38 @@ * @return true si les analyseur ne sont pas vide */ public boolean containsSomething() { - if (isContentEmpty()) { return false; } - for (CtuluLog analyze : analyser) { - if (!analyze.isEmpty()) { return true; } + if (isContentEmpty()) { + return false; } + for (CtuluLog analyze : logs) { + if (!analyze.isEmpty()) { + return true; + } + } if (groups != null) { for (CtuluLogGroup mng : groups) { - if (mng.containsSomething()) { return true; } + if (mng.containsSomething()) { + return true; + } } } return false; } public boolean containsWarning() { - if (isContentEmpty()) { return false; } - for (CtuluLog analyze : analyser) { - if (analyze.containsWarnings()) { return true; } + if (isContentEmpty()) { + return false; } + for (CtuluLog analyze : logs) { + if (analyze.containsWarnings()) { + return true; + } + } if (groups != null) { for (CtuluLogGroup mng : groups) { - if (mng.containsWarning()) { return true; } + if (mng.containsWarning()) { + return true; + } } } return false; @@ -124,7 +183,7 @@ */ public CtuluLogGroup createGroup(String name) { CtuluLogGroup res = new CtuluLogGroup(defaultResource); - res.getMainAnalyze().setDesc(name); + res.getMainLog().setDesc(name); if (groups == null) { groups = new ArrayList<CtuluLogGroup>(); } @@ -135,15 +194,17 @@ /** * @return la liste des anayliser utilis� */ - public List<CtuluLog> getAnalyser() { - return analyser; + public List<CtuluLog> getLogs() { + return logs; } /** * @return the groups */ public List<CtuluLogGroup> getGroups() { - if (groups == null) { return Collections.emptyList(); } + if (groups == null) { + return Collections.emptyList(); + } if (groupsExt == null) { groupsExt = Collections.unmodifiableList(groups); } @@ -156,19 +217,19 @@ * @param message * @return */ - public CtuluLog getLastAnalyser() { - return analyser.get(analyser.size() - 1); + public CtuluLog getLastLog() { + return logs.get(logs.size() - 1); } /** * @return the mainAnalyze */ - public CtuluLog getMainAnalyze() { - return mainAnalyze; + public CtuluLog getMainLog() { + return mainLog; } public String getMainDesc() { - return mainAnalyze.getDesc(); + return mainLog.getDesc(); } /** @@ -176,26 +237,25 @@ * * @return */ - public CtuluLog getNewAnalyser() { - CtuluLog analyzer = createAnalyzer(); - // ajout dans la liste des analyze - analyser.add(analyzer); - return analyzer; + public CtuluLog createLog() { + CtuluLog log = createAnalyzer(); + logs.add(log); + return log; } private boolean isContentEmpty() { - return CtuluLibArray.isEmpty(analyser) && CtuluLibArray.isEmpty(groups); + return CtuluLibArray.isEmpty(logs) && CtuluLibArray.isEmpty(groups); } public void setListeMessageError(final List<CtuluLog> listeMessageError) { - this.analyser = listeMessageError; + this.logs = listeMessageError; } /** * @param mainAnalyze the mainAnalyze to set */ public void setMainAnalyze(CtuluLog mainAnalyze) { - this.mainAnalyze = mainAnalyze; + this.mainLog = mainAnalyze; } } Modified: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileOperationAbstract.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileOperationAbstract.java 2011-10-21 16:31:02 UTC (rev 6561) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileOperationAbstract.java 2011-10-23 19:42:41 UTC (rev 6562) @@ -19,6 +19,7 @@ import org.fudaa.ctulu.CtuluIOOperationSynthese; import org.fudaa.ctulu.ProgressionInterface; /** + * @deprecated use {@link FileReadWriteAbstract} * @author deniger * @version $Id: FileOperationAbstract.java,v 1.5 2006-07-13 13:34:41 deniger Exp $ */ Added: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileOperationReaderAbstract.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileOperationReaderAbstract.java (rev 0) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileOperationReaderAbstract.java 2011-10-23 19:42:41 UTC (rev 6562) @@ -0,0 +1,57 @@ +/* + * @creation 6 juin 2003 + * + * @modification $Date: 2006-09-19 14:36:56 $ + * + * @license GNU General Public License 2 + * + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * + * @mail de...@fu... + */ +package org.fudaa.ctulu.fileformat; + +import java.io.File; + +import org.fudaa.ctulu.CtuluIOOperationSynthese; +import org.fudaa.ctulu.CtuluIOResult; +import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.ProgressionInterface; + +/** + * @author deniger + * @version $Id: FileReadOperationAbstract.java,v 1.7 2006-09-19 14:36:56 deniger Exp $ + */ +public abstract class FileOperationReaderAbstract<T> extends FileReadWriteAbstract<T> { + protected String getOperationDescription(final File _f) { + return CtuluLib.getS("Lecture") + CtuluLibString.ESPACE + _f.getName(); + } + + protected abstract T internalRead(); + + /** + * lit le fichier et ferme le flux. Pour recuperer les donnees, il suffit d'utiliser getSource. + * + * @return la synthese de la lecture + */ + public final CtuluIOResult<T> read() { + return closeOperation(internalRead()); + } + + /** + * @param _f le fichier a lire + * @param _inter la barre de progression + * @return la synthese de la lecture + */ + public final CtuluIOResult<T> read(final File _f, final ProgressionInterface _inter) { + setFile(_f); + final String s = getOperationDescription(_f); + analyze_.setDesc(s); + if (_inter != null) { + _inter.setDesc(s); + } + setProgressReceiver(_inter); + return read(); + } +} Added: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileOperationWriterAbstract.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileOperationWriterAbstract.java (rev 0) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileOperationWriterAbstract.java 2011-10-23 19:42:41 UTC (rev 6562) @@ -0,0 +1,62 @@ +/* + * @creation 22 ao\xFBt 2003 + * @modification $Date: 2007-01-26 14:57:26 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ctulu.fileformat; + +import java.io.File; + +import org.fudaa.ctulu.CtuluIOOperationSynthese; +import org.fudaa.ctulu.CtuluIOResult; +import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.ProgressionInterface; +/** + * @author deniger + * @version $Id: FileWriteOperationAbstract.java,v 1.8 2007-01-26 14:57:26 deniger Exp $ + */ +public abstract class FileOperationWriterAbstract<T> extends FileReadWriteAbstract<T> { + + protected abstract void internalWrite(T _o); + + /** + * @param _o la source pour l'ecriture + * @return la synthese de l'operation + */ + public final CtuluIOResult<T> write(final T _o){ + internalWrite(_o); + return closeOperation(_o); + } + + /** + * @param _o + * @param _f + * @param _inter + * @return la synthese de l'ecriture + */ + public final CtuluIOResult<T> write(final T _o,final File _f,final ProgressionInterface _inter){ + setFile(_f); + final String s = getOperationDescription(_f); + analyze_.setDesc(s); + if (_inter != null) { + _inter.setDesc(s); + } + setProgressReceiver(_inter); + return write(_o); + } + + /** + * + */ + protected String getOperationDescription(final File _f){ + return CtuluLib.getS("Ecriture") + CtuluLibString.ESPACE + _f.getName(); + } + + protected void donneesInvalides(final T _o){ + analyze_.addFatalError(CtuluLib.getS("Donn\xE9es invalides")); + analyze_.addInfo(_o==null?"null":_o.getClass().toString(), 0); + } +} \ No newline at end of file Added: trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileReadWriteAbstract.java =================================================================== --- trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileReadWriteAbstract.java (rev 0) +++ trunk/framework/ctulu-common/src/main/java/org/fudaa/ctulu/fileformat/FileReadWriteAbstract.java 2011-10-23 19:42:41 UTC (rev 6562) @@ -0,0 +1,75 @@ +/* + * @file FileWriteOperation.java + * @creation 22 ao\xFBt 2003 + * @modification $Date: 2006-07-13 13:34:41 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.ctulu.fileformat; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; + +import com.memoire.fu.FuLog; + +import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.ctulu.CtuluIOOperationSynthese; +import org.fudaa.ctulu.CtuluIOResult; +import org.fudaa.ctulu.CtuluLog; +import org.fudaa.ctulu.ProgressionInterface; +/** + * @author deniger + * @version $Id: FileOperationAbstract.java,v 1.5 2006-07-13 13:34:41 deniger Exp $ + */ +public abstract class FileReadWriteAbstract<T> { + protected ProgressionInterface progress_; + protected CtuluLog analyze_; + /** + * @param _progressReceiver l'ecouter pour la progression + */ + public void setProgressReceiver(final ProgressionInterface _progressReceiver) { + progress_= _progressReceiver; + } + protected abstract FortranInterface getFortranInterface(); + + /** + * @param _f le fichier a lire + */ + public abstract void setFile(File _f); + + protected final CtuluIOResult<T> closeOperation(final T _o) { + final CtuluIOResult<T> r= new CtuluIOResult<T>(); + final FortranInterface out= getFortranInterface(); + r.setClosingOperation(FortranLib.closeState(out)); + r.setAnalyze(analyze_); + r.setSource(_o); + progress_= null; + analyze_= null; + return r; + } + /** + * @param _f le fichier a lire + * @return le FileReader correspondant + */ + public static final FileReader initFileReader(final File _f) { + FileReader r= null; + try { + r= new FileReader(_f); + } catch (final FileNotFoundException _e) {FuLog.error(_e);} + return r; + } + /** + * @param _f le fichier a ecrire + * @return le FileWriter correspondant + */ + public static final FileWriter initFileWriter(final File _f) { + FileWriter r= null; + try { + r= new FileWriter(_f); + } catch (final IOException _e) {FuLog.error(_e);} + return r; + } +} Added: trunk/framework/dodico-common/src/main/java/org/fudaa/dodico/fortran/FileCharSimpleReaderAbstract.java =================================================================== --- trunk/framework/dodico-common/src/main/java/org/fudaa/dodico/fortran/FileCharSimpleReaderAbstract.java (rev 0) +++ trunk/framework/dodico-common/src/main/java/org/fudaa/dodico/fortran/FileCharSimpleReaderAbstract.java 2011-10-23 19:42:41 UTC (rev 6562) @@ -0,0 +1,66 @@ +/** + * @creation 21 mars 2003 + * @modification $Date: 2006-09-19 14:42:29 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne +* @mail de...@fu... + */ +package org.fudaa.dodico.fortran; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.Reader; + +import org.fudaa.ctulu.CtuluLog; +import org.fudaa.ctulu.fileformat.FileOperationReaderAbstract; +import org.fudaa.ctulu.fileformat.FortranInterface; +import org.fudaa.dodico.commun.DodicoLib; +/** + * @author deniger + * @version $Id: FileOpReadCharSimpleAbstract.java,v 1.4 2006-09-19 14:42:29 deniger Exp $ + */ +public abstract class FileCharSimpleReaderAbstract<T> extends FileOperationReaderAbstract<T>{ + + protected FortranReader in_; + + protected void setFile(final Reader _r){ + in_ = new FortranReader(_r); + } + + protected void addAnalyzeLigneLue(){ + analyze_.addInfo(DodicoLib.getS("Ligne lue") + ": " + in_.getLine(), in_.getLineNumber()); + } + + protected FortranInterface getFortranInterface(){ + return in_; + } + + + protected void processFile(final File _f){ + + } + + public void setFile(final File _f){ + analyze_ = new CtuluLog(); + analyze_.setResource(_f.getAbsolutePath()); + FileReader r = null; + try { + r = new FileReader(_f); + processFile(_f); + } + catch (final FileNotFoundException _e) { + analyze_.addFatalError(DodicoLib.getS("Fichier inconnu")); + } + if (r != null) { + setFile(r); + } + } + + /** + * @param _f le fichier a lire (_f[0]) + */ + public final void setFile(final File[] _f){ + setFile(_f[0]); + } +} \ No newline at end of file Added: trunk/framework/dodico-common/src/main/java/org/fudaa/dodico/fortran/FileCharSimpleWriterAbstract.java =================================================================== --- trunk/framework/dodico-common/src/main/java/org/fudaa/dodico/fortran/FileCharSimpleWriterAbstract.java (rev 0) +++ trunk/framework/dodico-common/src/main/java/org/fudaa/dodico/fortran/FileCharSimpleWriterAbstract.java 2011-10-23 19:42:41 UTC (rev 6562) @@ -0,0 +1,113 @@ +/** + * @creation 21 mars 2003 + * @modification $Date: 2006-09-19 14:42:29 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.dodico.fortran; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.Writer; + +import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.CtuluLog; +import org.fudaa.ctulu.fileformat.FileOperationWriterAbstract; +import org.fudaa.ctulu.fileformat.FortranInterface; + +/** + * @author deniger + * @version $Id: FileOpWriterCharSimpleAbstract.java,v 1.4 2006-09-19 14:42:29 deniger Exp $ + */ +public abstract class FileCharSimpleWriterAbstract<T> extends FileOperationWriterAbstract<T> { + + protected String lineSep_; + protected Writer out_; + + /** + * Initialise le separateur de ligne. + */ + public FileCharSimpleWriterAbstract() { + lineSep_ = CtuluLibString.LINE_SEP; + } + + protected FortranInterface getFortranInterface() { + return new FortranInterface() { + + public void close() throws IOException { + if (out_ != null) { + out_.close(); + } + } + }; + } + + /** + * Renvoie le separateur de ligne. + * + * @return separateur de ligne + */ + public final String getLineSeparator() { + return lineSep_; + } + + public void setFile(final File _f) { + analyze_ = new CtuluLog(); + analyze_.setResource(_f.getAbsolutePath()); + FileWriter out = null; + try { + out = new FileWriter(_f); + } catch (final IOException _e) { + analyze_.manageException(_e); + } + if (out != null) { + out_ = out; + } + } + + /** + * @param _f le fichier a ecrire (_f[0]). + */ + public final void setFile(final File[] _f) { + setFile(_f[0]); + } + + /** + * Modifie le separateur de ligne. + * + * @param _lineSep The lineSep to set + */ + public final void setLineSeparator(final String _lineSep) { + lineSep_ = _lineSep; + } + + /** + * @param _b la chaine a ajouter au flux + * @throws IOException + */ + public void writeToOut(final String _b) throws IOException { + out_.write(_b); + } + + /** + * Ecrit un retour chariot. + * + * @throws IOException + */ + public void writelnToOut() throws IOException { + out_.write(lineSep_); + } + + /** + * Ecrit la chaine plus un retour chariot. + * + * @param _b la chaine a ajouter au flux + * @throws IOException + */ + public void writelnToOut(final String _b) throws IOException { + writeToOut(_b + lineSep_); + } + +} \ No newline at end of file Modified: trunk/framework/dodico-common/src/main/java/org/fudaa/dodico/fortran/FileOpReadCharSimpleAbstract.java =================================================================== --- trunk/framework/dodico-common/src/main/java/org/fudaa/dodico/fortran/FileOpReadCharSimpleAbstract.java 2011-10-21 16:31:02 UTC (rev 6561) +++ trunk/framework/dodico-common/src/main/java/org/fudaa/dodico/fortran/FileOpReadCharSimpleAbstract.java 2011-10-23 19:42:41 UTC (rev 6562) @@ -18,6 +18,7 @@ import org.fudaa.dodico.commun.DodicoLib; /** + * @deprecated use {@link FileCharSimpleReaderAbstract} * @author deniger * @version $Id: FileOpReadCharSimpleAbstract.java,v 1.4 2006-09-19 14:42:29 deniger Exp $ */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |