From: <jan...@us...> - 2008-01-02 18:25:55
|
Revision: 711 http://magicmap.svn.sourceforge.net/magicmap/?rev=711&view=rev Author: jan_fride Date: 2008-01-02 10:25:53 -0800 (Wed, 02 Jan 2008) Log Message: ----------- Added Paths: ----------- branches/info/magicmapclient/magicmapclient/ branches/info/magicmapclient/magicmapclient/build.xml branches/info/magicmapclient/magicmapclient/lib/looks-2.1.4.jar branches/info/magicmapclient/magicmapclient/magicmapclient.iml branches/info/magicmapclient/magicmapclient/src/com/jgoodies/uif_lite/panel/SimpleInternalFrame.java branches/info/magicmapclient/magicmapclient/src/edu/uci/ics/jung/visualization/VisualizationViewer.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/core/MagicMapApplication.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/gui/utils/GUIUtils.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/model/location/INodePlacer.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/model/location/jung/JungNodePlacer.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/model/node/IMagicEdge.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/model/node/INode.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/model/node/INodeModel.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/model/node/Node.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/ branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/ branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/graph/ branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/graph/IGraphEdge.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/graph/IGraphElement.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/graph/IGraphNode.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/graph/INodeGraph.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/graph/impl/ branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/graph/impl/BaseGraphElement.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/graph/impl/BaseGraphNode.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/graph/impl/BaseNodeGraph.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/graph/jung/ branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/location/ branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/location/ForwardingNodePlacer.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/node/ branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/node/InterceptableNodeModel.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/node/KeyGenerator.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/node/NodeFilter.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/node/NodeIndex.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/node/NodeModelInterceptor.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/node/SearchableNodeIndex.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/node/SearchableNodeModel.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/node/impl/ branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/node/impl/BaseNodeIndex.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/node/impl/MacNodeKeyGenerator.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/core/model/node/impl/NodeIndexFactory.java Removed Paths: ------------- branches/info/magicmapclient/magicmapclient/build.xml branches/info/magicmapclient/magicmapclient/magicmapclient.iml branches/info/magicmapclient/magicmapclient/src/com/jgoodies/uif_lite/panel/SimpleInternalFrame.java branches/info/magicmapclient/magicmapclient/src/edu/uci/ics/jung/visualization/VisualizationViewer.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/core/MagicMapApplication.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/gui/utils/GUIUtils.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/model/location/INodePlacer.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/model/location/jung/JungNodePlacer.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/model/node/IMagicEdge.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/model/node/INode.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/model/node/INodeModel.java branches/info/magicmapclient/magicmapclient/src/net/sf/magicmap/client/model/node/Node.java Copied: branches/info/magicmapclient/magicmapclient (from rev 704, trunk/magicmapclient) Deleted: branches/info/magicmapclient/magicmapclient/build.xml =================================================================== --- trunk/magicmapclient/build.xml 2007-12-21 12:06:47 UTC (rev 704) +++ branches/info/magicmapclient/magicmapclient/build.xml 2008-01-02 18:25:53 UTC (rev 711) @@ -1,168 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1" ?> -<project name="magicmapclient" default="jar" basedir="."> - <property name="application" value="magicmap" /> - <!-- Version Information --> - <property name="version.number" value="0.9.2" /> - <property name="version.appendix" value="beta 1" /> - <property name="jar.name" value="${application}.jar" /> - <property name="main.class" value="net.sf.magicmap.client.core.MagicMapApplication" /> - - <!-- Setting for maven path--> - <property name="maven.home" value="D:\_development\_Tools\maven-2.0.5"/> - - - - <property name="server" value="../magicmapserver" /> - <property name="build" value="build" /> - <property name="build-test" value="build-test" /> - <property name="dist" value="dist" /> - <property name="test" value="test" /> - <property name="src" value="src" /> - <property name="src.gen" value="src-gen" /> - <property name="res" value="res" /> - - <path id="build.classpath"> - <fileset dir="."> - <include name="${jar.name}" /> - </fileset> - <fileset dir="lib"> - <include name="**/*.jar" /> - </fileset> - <!-- use server classes --> - <fileset dir="${server}/dist"> - <include name="*.jar" /> - </fileset> - </path> - <path id="test.classpath"> - <fileset dir="."> - <include name="${jar.name}" /> - </fileset> - <fileset dir="lib"> - <include name="**/*.jar" /> - </fileset> - <!-- use server classes --> - <fileset dir="${server}/dist"> - <include name="*.jar" /> - </fileset> - <pathelement location="${build}"></pathelement> - </path> - - <pathconvert property="classpath" pathsep=" " dirsep="/"> - <path> - <fileset dir="."> - <include name="${jar.name}" /> - </fileset> - <fileset dir="lib"> - <include name="**/*.jar" /> - </fileset> - <!-- use server classes --> - <filelist dir="lib" files="magicmap-server.jar" /> - </path> - <map from="${basedir}" to="." /> - </pathconvert> - - <path id="axis.classpath"> - <fileset dir="lib"> - <include name="**/*.jar" /> - </fileset> - <fileset dir="lib-dev"> - <include name="**/*.jar" /> - </fileset> - </path> - - <taskdef resource="axis-tasks.properties" classpathref="axis.classpath" /> - - <target name="prepare" depends="clean"> - <mkdir dir="${build}" /> - <mkdir dir="${build-test}" /> - <mkdir dir="${dist}" /> - <mkdir dir="${test}" /> - <mkdir dir="${src.gen}" /> - </target> - - <target name="clean"> - <delete dir="${build}" /> - <delete dir="${build-test}" /> - <delete dir="${dist}" /> - <delete file="${jar.name}" /> - <delete dir="${src.gen}" /> - </target> - - <target name="axis" depends="prepare"> - <axis-wsdl2java output="${src.gen}" testcase="false" verbose="false" noimports="true" debug="false" url="inf/PositionFacade.wsdl" /> - <axis-wsdl2java output="${src.gen}" testcase="false" verbose="false" noimports="true" debug="false" url="inf/SessionFacade.wsdl" /> - <axis-wsdl2java output="${src.gen}" testcase="false" verbose="false" noimports="true" debug="false" url="inf/MapFacade.wsdl" /> - </target> - - <target name="compile" depends="axis"> - <javac destdir="${build}" target="1.5" debug="true" deprecation="true" debuglevel="lines,vars,source" fork="true" encoding="ISO-8859-1"> - <classpath refid="build.classpath" /> - <src path="${src}" /> - <src path="${src.gen}" /> - </javac> - </target> - - <target name="compile-tests" depends="compile"> - <javac destdir="${build-test}" target="1.5" debug="true" deprecation="true" debuglevel="lines,vars,source" fork="true" encoding="ISO-8859-1"> - <classpath refid="test.classpath" /> - <src path="${test}" /> - </javac> - </target> - - <target name="version" depends="compile"> - <tstamp> - <format property="build.number" pattern="yyyyMMddHHmm" /> - </tstamp> - <propertyfile file="res/version.properties"> - <entry key="version" value="${version.number}" /> - <entry key="appendix" value="${version.appendix}" /> - <entry key="buildnumber" value="${build.number}" /> - </propertyfile> - </target> - - <target name="jar" depends="version"> - <jar jarfile="${application}.jar"> - <fileset dir="${build}" /> - <fileset dir="${res}" /> - <manifest> - <attribute name="Main-Class" value="${main.class}" /> - <attribute name="Class-Path" value="${classpath}" /> - </manifest> - </jar> - </target> - - <target name="dist" depends="jar"> - <zip destfile="dist/${application}-${version.number}-${version.appendix}.zip"> - <fileset dir="." includes="lib/*" /> - <fileset dir="." includes="plugins/*" /> - <fileset dir="." includes="${jar.name}" /> - <zipfileset dir="${server}/dist" includes="magicmap-server.jar" fullpath="lib/magicmap-server.jar" /> - <fileset dir="." includes="start.bat start.sh start_nightly.bat start_nightly.sh" /> - </zip> - </target> - - <target name="run" depends="jar"> - <java classname="${main.class}" fork="true" failonerror="true" maxmemory="128m"> - <classpath refid="build.classpath" /> - <arg value="-h" /> - </java> - </target> - - <target name="copy-resources"> - <copy todir="build"> - <fileset dir="${res}"></fileset> - </copy> - </target> - - <!-- Setting for maven path must be checked.--> - <target name="maven-install"> - <exec executable="${maven.home}/bin/mvn.bat"> - <arg value="install:install-file"/> - <arg value="-Dfile=magicmap.jar"/> - <arg value="-DgroupId=net.sf.magicmap"/> - <arg value="-DartifactId=magicmapclient"/> - <arg value="-Dversion=${version.number}"/> - <arg value="-Dpackaging=jar"/> - </exec> - </target> -</project> Copied: branches/info/magicmapclient/magicmapclient/build.xml (from rev 710, trunk/magicmapclient/build.xml) =================================================================== --- branches/info/magicmapclient/magicmapclient/build.xml (rev 0) +++ branches/info/magicmapclient/magicmapclient/build.xml 2008-01-02 18:25:53 UTC (rev 711) @@ -0,0 +1,168 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<project name="magicmapclient" default="jar" basedir="."> + <property name="application" value="magicmap" /> + <!-- Version Information --> + <property name="version.number" value="0.9.2" /> + <property name="version.appendix" value="beta 1" /> + <property name="jar.name" value="${application}.jar" /> + <property name="main.class" value="net.sf.magicmap.client.core.MagicMapApplication" /> + + <!-- Setting for maven path--> + <property name="maven.home" value="/usr/local/maven"/> + + + + <property name="server" value="../magicmapserver" /> + <property name="build" value="build" /> + <property name="build-test" value="build-test" /> + <property name="dist" value="dist" /> + <property name="test" value="test" /> + <property name="src" value="src" /> + <property name="src.gen" value="src-gen" /> + <property name="res" value="res" /> + + <path id="build.classpath"> + <fileset dir="."> + <include name="${jar.name}" /> + </fileset> + <fileset dir="lib"> + <include name="**/*.jar" /> + </fileset> + <!-- use server classes --> + <fileset dir="${server}/dist"> + <include name="*.jar" /> + </fileset> + </path> + <path id="test.classpath"> + <fileset dir="."> + <include name="${jar.name}" /> + </fileset> + <fileset dir="lib"> + <include name="**/*.jar" /> + </fileset> + <!-- use server classes --> + <fileset dir="${server}/dist"> + <include name="*.jar" /> + </fileset> + <pathelement location="${build}"></pathelement> + </path> + + <pathconvert property="classpath" pathsep=" " dirsep="/"> + <path> + <fileset dir="."> + <include name="${jar.name}" /> + </fileset> + <fileset dir="lib"> + <include name="**/*.jar" /> + </fileset> + <!-- use server classes --> + <filelist dir="lib" files="magicmap-server.jar" /> + </path> + <map from="${basedir}" to="." /> + </pathconvert> + + <path id="axis.classpath"> + <fileset dir="lib"> + <include name="**/*.jar" /> + </fileset> + <fileset dir="lib-dev"> + <include name="**/*.jar" /> + </fileset> + </path> + + <taskdef resource="axis-tasks.properties" classpathref="axis.classpath" /> + + <target name="prepare" depends="clean"> + <mkdir dir="${build}" /> + <mkdir dir="${build-test}" /> + <mkdir dir="${dist}" /> + <mkdir dir="${test}" /> + <mkdir dir="${src.gen}" /> + </target> + + <target name="clean"> + <delete dir="${build}" /> + <delete dir="${build-test}" /> + <delete dir="${dist}" /> + <delete file="${jar.name}" /> + <delete dir="${src.gen}" /> + </target> + + <target name="axis" depends="prepare"> + <axis-wsdl2java output="${src.gen}" testcase="false" verbose="false" noimports="true" debug="false" url="inf/PositionFacade.wsdl" /> + <axis-wsdl2java output="${src.gen}" testcase="false" verbose="false" noimports="true" debug="false" url="inf/SessionFacade.wsdl" /> + <axis-wsdl2java output="${src.gen}" testcase="false" verbose="false" noimports="true" debug="false" url="inf/MapFacade.wsdl" /> + </target> + + <target name="compile" depends="axis"> + <javac destdir="${build}" target="1.5" debug="true" deprecation="true" debuglevel="lines,vars,source" fork="true" encoding="ISO-8859-1"> + <classpath refid="build.classpath" /> + <src path="${src}" /> + <src path="${src.gen}" /> + </javac> + </target> + + <target name="compile-tests" depends="compile"> + <javac destdir="${build-test}" target="1.5" debug="true" deprecation="true" debuglevel="lines,vars,source" fork="true" encoding="ISO-8859-1"> + <classpath refid="test.classpath" /> + <src path="${test}" /> + </javac> + </target> + + <target name="version" depends="compile"> + <tstamp> + <format property="build.number" pattern="yyyyMMddHHmm" /> + </tstamp> + <propertyfile file="res/version.properties"> + <entry key="version" value="${version.number}" /> + <entry key="appendix" value="${version.appendix}" /> + <entry key="buildnumber" value="${build.number}" /> + </propertyfile> + </target> + + <target name="jar" depends="version"> + <jar jarfile="${application}.jar"> + <fileset dir="${build}" /> + <fileset dir="${res}" /> + <manifest> + <attribute name="Main-Class" value="${main.class}" /> + <attribute name="Class-Path" value="${classpath}" /> + </manifest> + </jar> + </target> + + <target name="dist" depends="jar"> + <zip destfile="dist/${application}-${version.number}-${version.appendix}.zip"> + <fileset dir="." includes="lib/*" /> + <fileset dir="." includes="plugins/*" /> + <fileset dir="." includes="${jar.name}" /> + <zipfileset dir="${server}/dist" includes="magicmap-server.jar" fullpath="lib/magicmap-server.jar" /> + <fileset dir="." includes="start.bat start.sh start_nightly.bat start_nightly.sh" /> + </zip> + </target> + + <target name="run" depends="jar"> + <java classname="${main.class}" fork="true" failonerror="true" maxmemory="128m"> + <classpath refid="build.classpath" /> + <arg value="-h" /> + </java> + </target> + + <target name="copy-resources"> + <copy todir="build"> + <fileset dir="${res}"></fileset> + </copy> + </target> + + <!-- Setting for maven path must be checked.--> + <target name="maven-install"> + <exec executable="${maven.home}/bin/mvn"> + <arg value="install:install-file"/> + <arg value="-Dfile=magicmap.jar"/> + <arg value="-DgroupId=net.sf.magicmap"/> + <arg value="-DartifactId=magicmapclient"/> + <arg value="-Dversion=${version.number}"/> + <arg value="-Dpackaging=jar"/> + </exec> + </target> +</project> Copied: branches/info/magicmapclient/magicmapclient/lib/looks-2.1.4.jar (from rev 710, trunk/magicmapclient/lib/looks-2.1.4.jar) =================================================================== (Binary files differ) Deleted: branches/info/magicmapclient/magicmapclient/magicmapclient.iml =================================================================== --- trunk/magicmapclient/magicmapclient.iml 2007-12-21 12:06:47 UTC (rev 704) +++ branches/info/magicmapclient/magicmapclient/magicmapclient.iml 2008-01-02 18:25:53 UTC (rev 711) @@ -1,302 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<module version="4" relativePaths="false" type="JAVA_MODULE"> - <component name="ModuleRootManager" /> - <component name="NewModuleRootManager" inherit-compiler-output="false"> - <output url="file://$MODULE_DIR$/build" /> - <exclude-output /> - <output-test url="file://$MODULE_DIR$/build-test" /> - <content url="file://$MODULE_DIR$"> - <sourceFolder url="file://$MODULE_DIR$/res" isTestSource="false" /> - <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> - <sourceFolder url="file://$MODULE_DIR$/src-gen" isTestSource="false" /> - <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" /> - <excludeFolder url="file://$MODULE_DIR$/build" /> - <excludeFolder url="file://$MODULE_DIR$/build-test" /> - <excludeFolder url="file://$MODULE_DIR$/target" /> - </content> - <orderEntry type="inheritedJdk" /> - <orderEntry type="sourceFolder" forTests="false" /> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://X:/maven/junit/junit/3.8.1/junit-3.8.1.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/dom4j-1.6.1.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/forms-1.0.5.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/commons-collections-3.1.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/foxtrot.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/jaxrpc.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/ostermillerutils_1_05_00.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/commons-codec-1.3.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/concurrent.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/colt.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/nekohtml.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/commons-logging.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/jung-1.5.2.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/saaj.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/xmlParserAPIs.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/derby.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/RelativeLayout.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/xercesImpl.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/xml-apis.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/mail.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/jaxen-1.1-beta-9.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/commons-httpclient-3.0-rc3.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/jpox-20041204.032009.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/looks-1.2.2.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/log4j-1.2.8.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/axis.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/activation.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/wsdl4j.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib/commons-discovery.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib-dev/junit.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module-library"> - <library> - <CLASSES> - <root url="jar://$MODULE_DIR$/lib-dev/axis-ant.jar!/" /> - </CLASSES> - <JAVADOC /> - <SOURCES /> - </library> - </orderEntry> - <orderEntry type="module" module-name="magicmapserver" /> - <orderEntryProperties /> - </component> -</module> - Copied: branches/info/magicmapclient/magicmapclient/magicmapclient.iml (from rev 710, trunk/magicmapclient/magicmapclient.iml) =================================================================== --- branches/info/magicmapclient/magicmapclient/magicmapclient.iml (rev 0) +++ branches/info/magicmapclient/magicmapclient/magicmapclient.iml 2008-01-02 18:25:53 UTC (rev 711) @@ -0,0 +1,290 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module relativePaths="true" type="JAVA_MODULE" version="4"> + <component name="NewModuleRootManager" inherit-compiler-output="true"> + <output url="file://$MODULE_DIR$/build" /> + <exclude-output /> + <output-test url="file://$MODULE_DIR$/build-test" /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/res" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src-gen" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="false" /> + </content> + <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/../magicmapserver/dist/magicmap-server.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES> + <root url="file://$MODULE_DIR$/../magicmapserver/src" /> + </SOURCES> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/commons-httpclient-3.0-rc3.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="inheritedJdk" /> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/colt.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/commons-collections-3.1.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/concurrent.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/xercesImpl.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/xml-apis.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/xmlParserAPIs.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/RelativeLayout.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/forms-1.0.5.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/activation.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/mail.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/commons-discovery.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/commons-logging.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/jaxrpc.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/saaj.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/wsdl4j.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/axis.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/jung-1.5.2.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/derby.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/jpox-20041204.032009.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/log4j-1.2.8.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/ostermillerutils_1_05_00.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/dom4j-1.6.1.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/commons-codec-1.3.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/jaxen-1.1-beta-9.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/foxtrot.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/nekohtml.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib-dev/junit.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntry type="module-library"> + <library> + <CLASSES> + <root url="jar://$MODULE_DIR$/lib/looks-2.1.4.jar!/" /> + </CLASSES> + <JAVADOC /> + <SOURCES /> + </library> + </orderEntry> + <orderEntryProperties /> + </component> +</module> + Deleted: branches/info/magicmapclient/magicmapclient/src/com/jgoodies/uif_lite/panel/SimpleInternalFrame.java =================================================================== --- trunk/magicmapclient/src/com/jgoodies/uif_lite/panel/SimpleInternalFrame.java 2007-12-21 12:06:47 UTC (rev 704) +++ branches/info/magicmapclient/magicmapclient/src/com/jgoodies/uif_lite/panel/SimpleInternalFrame.java 2008-01-02 18:25:53 UTC (rev 711) @@ -1,409 +0,0 @@ -/* - * Copyright (c) 2003 JGoodies Karsten Lentzsch. All Rights Reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * o Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * o Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * o Neither the name of JGoodies Karsten Lentzsch nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE - * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package com.jgoodies.uif_lite.panel; - -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Component; -import java.awt.GradientPaint; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Insets; -import java.awt.LayoutManager; -import java.awt.Paint; - -import javax.swing.BorderFactory; -import javax.swing.Icon; -import javax.swing.JComponent; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JToolBar; -import javax.swing.SwingConstants; -import javax.swing.UIManager; -import javax.swing.border.AbstractBorder; - -import net.sf.magicmap.client.gui.utils.ShadowBorder; - -import com.jgoodies.plaf.LookUtils; - -/** - * A <code>JPanel</code> subclass that has a drop shadow border and - * that provides a header with icon, title and tool bar.<p> - * - * This class can be used to replace the <code>JInternalFrame</code>, - * for use outside of a <code>JDesktopPane</code>. - * The <code>SimpleInternalFrame</code> is less flexible but often - * more usable; it avoids overlapping windows and scales well - * up to IDE size. - * Several customers have reported that they and their clients feel - * much better with both the appearance and the UI feel.<p> - * - * The SimpleInternalFrame provides the following bound properties: - * <i>frameIcon, title, toolBar, content, selected.</i><p> - * - * By default the SimpleInternalFrame is in <i>selected</i> state. - * If you don't do anything, multiple simple internal frames will - * be displayed as selected. - * - * @author Karsten Lentzsch - * @version $Revision$ - * - * @see javax.swing.JInternalFrame - * @see javax.swing.JDesktopPane - */ - -public class SimpleInternalFrame extends JPanel { - - private JLabel titleLabel; - private GradientPanel gradientPanel; - private JPanel headerPanel; - private boolean isSelected; - - // Instance Creation **************************************************** - - /** - * Constructs a <code>SimpleInternalFrame</code> with the specified title. - * - * @param title the initial title - */ - public SimpleInternalFrame(String title) { - this(null, title, null, null); - } - - /** - * Constructs a <code>SimpleInternalFrame</code> with the specified - * icon, and title. - * - * @param icon the initial icon - * @param title the initial title - */ - public SimpleInternalFrame(Icon icon, String title) { - this(icon, title, null, null); - } - - /** - * Constructs a <code>SimpleInternalFrame</code> with the specified - * title, tool bar, and content panel. - * - * @param title the initial title - * @param bar the initial tool bar - * @param content the initial content pane - */ - public SimpleInternalFrame(String title, JToolBar bar, JComponent content) { - this(null, title, bar, content); - } - - /** - * Constructs a <code>SimpleInternalFrame</code> with the specified - * icon, title, tool bar, and content panel. - * - * @param icon the initial icon - * @param title the initial title - * @param bar the initial tool bar - * @param content the initial content pane - */ - public SimpleInternalFrame(Icon icon, String title, JToolBar bar, JComponent content) { - super(new BorderLayout()); - this.isSelected = false; - this.titleLabel = new JLabel(title, icon, SwingConstants.LEADING); - JPanel top = buildHeader(titleLabel, bar); - - add(top, BorderLayout.NORTH); - if (content != null){ - setContent(content); - } - setBorder(new ShadowBorder()); - setSelected(true); - updateHeader(); - } - - // Public API *********************************************************** - - /** - * Returns the frame's icon. - * - * @return the frame's icon - */ - public Icon getFrameIcon(){ - return titleLabel.getIcon(); - } - - /** - * Sets a new frame icon. - * - * @param newIcon the icon to be set - */ - public void setFrameIcon(Icon newIcon){ - Icon oldIcon = getFrameIcon(); - titleLabel.setIcon(newIcon); - firePropertyChange("frameIcon", oldIcon, newIcon); - } - - /** - * Returns the frame's title text. - * - * @return String the current title text - */ - public String getTitle(){ - return titleLabel.getText(); - } - - /** - * Sets a new title text. - * - * @param newText the title text tp be set - */ - public void setTitle(String newText){ - String oldText = getTitle(); - titleLabel.setText(newText); - firePropertyChange("title", oldText, newText); - } - - /** - * Returns the current toolbar, null if none has been set before. - * - * @return the current toolbar - if any - */ - public JToolBar getToolBar(){ - return headerPanel.getComponentCount() > 1 ? (JToolBar) headerPanel.getComponent(1) : null; - } - - /** - * Sets a new tool bar in the header. - * - * @param newToolBar the tool bar to be set in the header - */ - public void setToolBar(JToolBar newToolBar){ - JToolBar oldToolBar = getToolBar(); - if (oldToolBar == newToolBar){ - return; - } - if (oldToolBar != null){ - headerPanel.remove(oldToolBar); - } - if (newToolBar != null){ - newToolBar.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); - headerPanel.add(newToolBar, BorderLayout.EAST); - } - updateHeader(); - firePropertyChange("toolBar", oldToolBar, newToolBar); - } - - /** - * Returns the content - null, if none has been set. - * - * @return the current content - */ - public Component getContent(){ - return hasContent() ? getComponent(1) : null; - } - - /** - * Sets a new panel content; replaces any existing content, if existing. - * - * @param newContent the panel's new content - */ - public void setContent(Component newContent){ - Component oldContent = getContent(); - if (hasContent()){ - remove(oldContent); - } - add(newContent, BorderLayout.CENTER); - firePropertyChange("content", oldContent, newContent); - } - - /** - * Answers if the panel is currently selected (or in other words active) - * or not. In the selected state, the header background will be - * rendered differently. - * - * @return boolean a boolean, where true means the frame is selected - * (currently active) and false means it is not - */ - public boolean isSelected(){ - return isSelected; - } - - /** - * This panel draws its title bar differently if it is selected, - * which may be used to indicate to the user that this panel - * has the focus, or should get more attention than other - * simple internal frames. - * - * @param newValue a boolean, where true means the frame is selected - * (currently active) and false means it is not - */ - public void setSelected(boolean newValue){ - boolean oldValue = isSelected(); - isSelected = newValue; - updateHeader(); - firePropertyChange("selected", oldValue, newValue); - } - - // Building ************************************************************* - - /** - * Creates and answers the header panel, that consists of: - * an icon, a title label, a tool bar, and a gradient background. - * - * @param label the label to paint the icon and text - * @param bar the panel's tool bar - * @return the panel's built header area - */ - private JPanel buildHeader(JLabel label, JToolBar bar){ - gradientPanel = new GradientPanel(new BorderLayout(), getHeaderBackground()); - label.setOpaque(false); - - gradientPanel.add(label, BorderLayout.WEST); - gradientPanel.setBorder(BorderFactory.createEmptyBorder(3, 4, 3, 1)); - - headerPanel = new JPanel(new BorderLayout()); - headerPanel.add(gradientPanel, BorderLayout.CENTER); - setToolBar(bar); - headerPanel.setBorder(new RaisedHeaderBorder()); - headerPanel.setOpaque(false); - return headerPanel; - } - - /** - * Updates the header. - */ - private void updateHeader(){ - gradientPanel.setBackground(getHeaderBackground()); - gradientPanel.setOpaque(isSelected()); - titleLabel.setForeground(getTextForeground(isSelected())); - headerPanel.repaint(); - } - - /** - * Updates the UI. In addition to the superclass behavior, we need - * to update the header component. - */ - public void updateUI(){ - super.updateUI(); - if (titleLabel != null){ - updateHeader(); - } - } - - // Helper Code ********************************************************** - - /** - * Checks and answers if the panel has a content component set. - * - * @return true if the panel has a content, false if it's empty - */ - private boolean hasContent(){ - return getComponentCount() > 1; - } - - /** - * Determines and answers the header's text foreground color. - * Tries to lookup a special color from the L&F. - * In case it is absent, it uses the standard internal frame forground. - * - * @param selected true to lookup the active color, false for the inactive - * @return the color of the foreground text - */ - protected Color getTextForeground(boolean selected){ - Color c = UIManager.getColor(selected - ? "SimpleInternalFrame.activeTitleForeground" - : "SimpleInternalFrame.inactiveTitleForeground"); - if (c != null){ - return c; - } - return UIManager.getColor(selected ? "InternalFrame.activeTitleForeground" : "Label.foreground"); - - } - - /** - * Determines and answers the header's background color. - * Tries to lookup a special color from the L&F. - * In case it is absent, it uses the standard internal frame background. - * - * @return the color of the header's background - */ - protected Color getHeaderBackground(){ - Color c = UIManager.getColor("SimpleInternalFrame.activeTitleBackground"); - if (c != null) return c; - if (LookUtils.IS_LAF_WINDOWS_XP_ENABLED) c = UIManager.getColor("InternalFrame.activeTitleGradient"); - return c != null ? c : UIManager.getColor("InternalFrame.activeTitleBackground"); - } - - // Helper Classes ******************************************************* - - // A custom border for the raised header pseudo 3D effect. - private static class RaisedHeaderBorder extends AbstractBorder { - - private static final Insets INSETS = new Insets(1, 1, 1, 0); - - public Insets getBorderInsets(Component c){ - return INSETS; - } - - public void paintBorder(Component c, Graphics g, int x, int y, int w, int h){ - - g.translate(x, y); - g.setColor(UIManager.getColor("controlLtHighlight")); - g.fillRect(0, 0, w, 1); - g.fillRect(0, 1, 1, h - 1); - g.setColor(UIManager.getColor("controlShadow")); - g.fillRect(0, h - 1, w, 1); - g.translate(-x, -y); - } - } - - // A panel with a horizontal gradient background. - private static class GradientPanel extends JPanel { - - private GradientPanel(LayoutManager lm, Color background) { - super(lm); - setBackground(background); - } - - public void paintComponent(Graphics g){ - super.paintComponent(g); - if (!isOpaque()){ - return; - } - Color control = UIManager.getColor("control"); - int width = getWidth(); - int height = getHeight(); - - Graphics2D g2 = (Graphics2D) g; - Paint storedPaint = g2.getPaint(); - g2.setPaint(new GradientPaint(0, 0, getBackground(), width, 0, control)); - g2.fillRect(0, 0, width, height); - g2.setPaint(storedPaint); - } - } - -} \ No newline at end of file Copied: branches/info/magicmapclient/magicmapclient/src/com/jgoodies/uif_lite/panel/SimpleInternalFrame.java (from rev 710, trunk/magicmapclient/src/com/jgoodies/uif_lite/panel/SimpleInternalFrame.java) =================================================================== --- branches/info/magicmapclient/magicmapclient/src/com/jgoodies/uif_lite/panel/SimpleInternalFrame.java (rev 0) +++ branches/info/magicmapclient/magicmapclient/src/com/jgoodies/uif_lite/panel/SimpleInternalFrame.java 2008-01-02 18:25:53 UTC (rev 711) @@ -0,0 +1,392 @@ +/* + * Copyright (c) 2003 JGoodies Karsten Lentzsch. All Rights Reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * o Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * o Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * o Neither the name of JGoodies Karsten Lentzsch nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.jgoodies.uif_lite.panel; + +import com.jgoodies.looks.LookUtils; +import net.sf.magicmap.client.gui.utils.ShadowBorder; + +import javax.swing.*; +import javax.swing.border.AbstractBorder; +import java.awt.*; + +/** + * A <code>JPanel</code> subclass that has a drop shadow border and + * that provides a header with icon, title and tool bar.<p> + * + * This class can be used to replace the <code>JInternalFrame</code>, + * for use outside of a <code>JDesktopPane</code>. + * The <code>SimpleInternalFrame</code> is less flexible but often + * more usable; it avoids overlapping windows and scales well + * up to IDE size. + * Several customers have reported that they and their clients feel + * much better with both the appearance and the UI feel.<p> + * + * The SimpleInternalFrame provides the following bound properties: + * <i>frameIcon, title, toolBar, content, selected.</i><p> + * + * By default the SimpleInternalFrame is in <i>selected</i> state. + * If you don't do anything, multiple simple internal frames will + * be displayed as selected. + * + * @author Karsten Lentzsch + * @version $Revision$ + * + * @see javax.swing.JInternalFrame + * @see javax.swing.JDesktopPane + */ + +public class SimpleInternalFrame extends JPanel { + + private JLabel titleLabel; + private GradientPanel gradientPanel; + private JPanel headerPanel; + private boolean isSelected; + + // Instance Creation **************************************************** + + /** + * Constructs a <code>SimpleInternalFrame</code> with the specified title. + * + * @param title the initial title + */ + public SimpleInternalFrame(String title) { + this(null, title, null, null); + } + + /** + * Constructs a <code>SimpleInternalFrame</code> with the specified + * icon, and title. + * + * @param icon the initial icon + * @param title the initial title + */ + public SimpleInternalFrame(Icon icon, String title) { + this(icon, title, null, null); + } + + /** + * Constructs a <code>SimpleInternalFrame</code> with the specified + * title, tool bar, and content panel. + * + * @param title the initial title + * @param bar the initial tool bar + * @param content the initial content pane + */ + public SimpleInternalFrame(String title, JToolBar bar, JComponent content) { + this(null, title, bar, content); + } + + /** + * Constructs a <code>SimpleInternalFrame</code> with the specified + * icon, title, tool bar, and content panel. + * + * @param icon the initial icon + * @param title the initial title + * @param bar the initial tool bar + * @param content the initial content pane + */ + public SimpleInternalFrame(Icon icon, String title, JToolBar bar, JComponent content) { + super(new BorderLayout()); + this.isSelected = false; + this.titleLabel = new JLabel(title, icon, SwingConstants.LEADING); + JPanel top = buildHeader(titleLabel, bar); + + add(top, BorderLayout.NORTH); + if (content != null){ + setContent(content); + } + setBorder(new ShadowBorder()); + setSelected(true); + updateHeader(); + } + + // Public API *********************************************************** + + /** + * Returns the frame's icon. + * + * @return the frame's icon + */ + public Icon getFrameIcon(){ + return titleLabel.getIcon(); + } + + /** + * Sets a new frame icon. + * + * @param newIcon the icon to be set + */ + public void setFrameIcon(Icon newIcon){ + Icon oldIcon = getFrameIcon(); + titleLabel.setIcon(newIcon); + firePropertyChange("frameIcon", oldIcon, newIcon); + } + + /** + * Returns the frame's title text. + * + * @return String the current title text + */ + public String getTitle(){ + return titleLabel.getText(); + } + + /** + * Sets a new title text. + * + * @param newText the title text tp be set + */ + public void setTitle(String newText){ + String oldText = getTitle(); + titleLabel.setText(newText); + firePropertyChange("title", oldText, newText); + } + + /** + * Returns the current toolbar, null if none has been set before. + * + * @return the current toolbar - if any + */ + public JToolBar getToolBar(){ + return headerPanel.getComponentCount() > 1 ? (JToolBar) headerPanel.getComponent(1) : null; + } + + /** + * Sets a new tool bar in the header. + * + * @param newToolBar the tool bar to be set in the header + */ + public void setToolBar(JToolBar newToolBar){ + JToolBar oldToolBar = getToolBar(); + if (oldToolBar == newToolBar){ + return; + } + if (oldToolBar != null){ + headerPanel.remove(oldToolBar); + } + if (newToolBar != null){ + newToolBar.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0)); + headerPanel.add(newToolBar, BorderLayout.EAST); + } + updateHeader(); + firePropertyChange("toolBar", oldToolBar, newToolBar); + } + + /** + * Returns the content - null, if none has been set. + * + * @return the current content + */ + public Component getContent(){ + return hasContent() ? getComponent(1) : null; + } + + /** + * Sets a new panel content; replaces any existing content, if existing. + * + * @param newContent the panel's new content + */ + public void setContent(Component newContent){ + Component oldContent = getContent(); + if (hasContent()){ + remove(oldContent); + } + add(newContent, BorderLayout.CENTER); + firePropertyChange("content", oldContent, newContent); + } + + /** + * Answers if the panel is currently selected (or in other words active) + * or not. In the selected state, the header background will be + * rendered differently. + * + * @return boolean a boolean, where true means the frame is selected + * (currently active) and false means it is not + */ + public boolean isSelected(){ + return isSelected; + } + + /** + * This panel draws its title bar differently if it is selected, + * which may be used to indicate to the user that this panel + * has the focus, or should get more attention than other + * simple internal frames. + * + * @param newValue a boolean, where true means the frame is selected + * (currently active) and false means it is not + */ + public void setSelected(boolean newValue){ + boolean oldValue = isSelected(); + isSelected = newValue; + updateHeader(); + firePropertyChange("selected", oldValue, newValue); + } + + // Building ************************************************************* + + /** + * Creates and answers the header panel, that consists of: + * an icon, a title label, a tool bar, and a gradient background. + * + * @param label the label to paint the icon and text + * @param bar the panel's tool bar + * @return the panel's built header area + */ + private JPanel buildHeader(JLabel label, JToolBar bar){ + gradientPanel = new GradientPanel(new BorderLayout(), getHeaderBackground()); + label.setOpaque(false); + + gradientPanel.add(label, BorderLayout.WEST); + gradientPanel.setBorder(BorderFactory.createEmptyBorder(3, 4, 3, 1)); + + headerPanel = new JPanel(new BorderLayout()); + headerPanel.add(gradientPanel, BorderLayout.CENTER); + setToolBar(bar); + headerPanel.setBorder(new RaisedHeaderBorder()); + headerPanel.setOpaque(false); + return headerPanel; + } + + /** + * Updates the header. + */ + private void updateHeader(){ + gradientPanel.setBackground(getHeaderBackground()); + gradientPanel.setOpaque(isSelected()); + titleLabel.setForeground(getTextForeground(isSelected())); + headerPanel.repaint(); + } + + /** + * Updates the UI. In addition to the superclass behavior, we need + * to update the header component. + */ + public void updateUI(){ + super.updateUI(); + if (titleLabel != null){ + updateHeader(); + } + } + + // Helper Code ********************************************************** + + /** + * Checks and answers if the panel has a content component set. + * + * @return true if the panel has a content, false if it's empty + */ + private boolean hasContent(){ + return getComponentCount() > 1; + } + + /** + * Determines and answers the header's text foreground color. + * Tries to lookup a special color from the L&F. + * In case it is absent, it uses the standard internal frame forground. + * + * @param selected true to lookup the active color, false for the inactive + * @return the color of the foreground text + */ + protected Color getTextForeground(boolean selected){ + Color c = UIManager.getColor(selected + ? "SimpleInternalFrame.activeTitleForeground" + : "SimpleInternalFrame.inactiveTitleForeground"); + if (c != null){ + return c; + } + return UIManager.getColor(selected ? "InternalFrame.activeTitleForeground" : "Label.foreground"); + + } + + /** + * Determines and answers the header's background color. + * Tries to lookup a special color from the L&F. + * In case it is absent, it uses the standard internal frame background. + * + * @return the color of the header's background + */ + protected Color getHeaderBackground(){ + Color c = UIManager.getColor("SimpleInternalFrame.activeTitleBackground"); + if (c != null) return c; + if (LookUtils.IS_LAF_WINDOWS_XP_ENABLED) c = UIManager.getColor("InternalFrame.activeTitleGradient"); + return c != null ? c : UIManager.getColor("InternalFrame.activeTitleBackground"); + } + + // Helper Classes *****... [truncated message content] |