feature browser changing.
svn changeset:2560/svn branch:trunk
+++ /dev/null
-<html>
-<head>
-<link REL="stylesheet" TYPE="text/css">
-</head>
-
-<body><div id="_UID_main" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"><img src="img/header.png" />
-
- <div id="_UID_features" style="top: 62px; width: 200px; position: absolute; overflow: auto; left: 0;" location="tree">
- <div style="width: 100%; height: 100%; border: 1px solid red;">tree</div>
- </div>
-
- <div id="_UID_demo" style="overflow: auto; position: absolute; top: 62px; left: 215px; ">
- <table width="100%" height="100%" cellspacing="0" cellpadding="0"
- border="0">
- <tbody>
- <tr>
- <td valign="middle" align="center">
- <table>
- <tbody>
- <tr>
- <td style="text-align: left;" location="demo">
- <div style="width: 100%; height: 100%; border: 1px solid red;">demo</div>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div id="_UID_tabs" style="overflow: hidden; position: absolute; left: 215px;" location="tabsheet">
- <div style="width: 100%; height: 100%; border: 1px solid red;">tabsheet</div>
- </div>
-
- <img id="_UID_prop-toggle" src="img/show_properties.png" style=" top: 23px; position: absolute;"/>
-
- <div id="_UID_props" style="overflow: hidden; position: absolute; top: 23px; width: 0px;" location="properties">
- <div style="width: 100%; height: 100%; border: 1px solid red;">properties</div>
- </div>
-
- <div id="_UID_cntr"
- style="overflow: hidden; position: absolute; bottom: 10px; left: 0pt; width: 200px; height: 50px;">
- <table width="100%" height="100%" border="0">
- <tbody>
- <tr>
- <td width="50%" valign="middle" align="center" id="_UID_cntr-left" location="themes">themes</td>
- <td width="50%" valign="middle" align="center" id="_UID_cntr-right" location="restart">restart</td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <img id="_UID_divider" src="img/tab_handle.png" style="position: absolute;" />
-
-</div>
-
-
-<script type="text/javascript">
-
-/** Recalculate feature browser main layout dimensions for all components */
-_UID_layout = function() {
-
- // Then animations are needed, this will be reset to true
- var animationNeeded = false;
-
- // References to all elements
- var mainDiv = document.getElementById("_UID_main");
- if (mainDiv == null) { alert("maindiv is null"); return;}
- var featuresDiv = document.getElementById("_UID_features");
- var demoDiv = document.getElementById("_UID_demo");
- var tabsDiv = document.getElementById("_UID_tabs");
- var propertiesDiv = document.getElementById("_UID_props");
- var controlDiv = document.getElementById("_UID_cntr");
- var dividerDiv = document.getElementById("_UID_divider");
-
- // Logobar height
- var logoBarHeight = 62;
-
- // Get whole window contents size
- document.body.style.padding = 0;
- document.body.style.margin = 0;
- document.body.style.position = "absolute";
- document.body.style.height = "100%";
- document.body.style.width = "100%";
- var width = document.body.offsetWidth;
- var height = document.body.offsetHeight;
- mainDiv.style.height = height + "px";
- mainDiv.style.width = width + "px";
-
- // Recalc features div dimensions
- var featuresWidth = 200;
- var controlHeight = 50;
- featuresDiv.style.top="" + logoBarHeight + "px";
- featuresDiv.style.width="" + featuresWidth + "px";
- featuresDiv.style.height="" + (height-controlHeight-logoBarHeight) + "px";
-
- // Recalc properties div dimensions
- if (typeof propertiesDiv.targetWidth == 'undefined') propertiesDiv.targetWidth = 0;
- var propWidth = Math.floor((propertiesDiv.offsetWidth + propertiesDiv.targetWidth)/2);
- if (Math.abs(propWidth - propertiesDiv.targetWidth) <= 1) propWidth = propertiesDiv.targetWidth;
- if (propWidth >width-featuresWidth) propWidth = width-featuresWidth;
- if (propWidth < 0) propWidth = 0;
- if ((propWidth+1) != (propertiesDiv.targetWidth+1)) animationNeeded=true;
- var centerWidth = width - propWidth - featuresWidth - 40;
- propertiesDiv.style.position="absolute";
- propertiesDiv.style.overflow="hidden";
- propertiesDiv.style.top="" + 23 + "px";
- propertiesDiv.style.left="" + (centerWidth + featuresWidth + 40) + "px";
- propertiesDiv.style.width=propWidth + "px";
- propertiesDiv.style.height="" + (height - 23) + "px";
- var buttonDiv = document.getElementById("_UID_prop-toggle");
- buttonDiv.style.left = "" + (centerWidth + featuresWidth - 20 + 40) + "px"
- if (propWidth == 0) { //buttonDiv.src = buttonDiv.showPng;
- buttonDiv.style.height = "92px"; }
- if (propWidth == propertiesDiv.maxWidth) { //buttonDiv.src = buttonDiv.hidePng;
- buttonDiv.style.height = "23px"; }
- buttonDiv.onclick = function() {
- var propertiesDiv = document.getElementById("_UID_props");
- propertiesDiv.targetWidth = propertiesDiv.targetWidth == 0 ? 265 : 0;
- _UID_layout();
- };
-
- // Recalc divider div dimensions
- if (typeof dividerDiv.demoHeight == 'undefined') dividerDiv.demoHeight = Math.floor(height/2);
- if (dividerDiv.isActive) {
- dividerDiv.demoHeight = dividerDiv.mouseY-10 - logoBarHeight;
- if (dividerDiv.demoHeight < 0) dividerDiv.demoHeight = 0;
- } else {
- if (dividerDiv.demoHeight + logoBarHeight > height - 20) dividerDiv.demoHeight = height - 20 - logoBarHeight;
- if (dividerDiv.demoHeight < 0) dividerDiv.demoHeight = 0;
- }
- var dividerHeight = 17;
- dividerDiv.style.position="absolute";
- dividerDiv.style.overflow="hidden";
- dividerDiv.style.top="" + (dividerDiv.demoHeight + logoBarHeight)+ "px";
- dividerDiv.style.left="" + (15+featuresWidth+Math.round((centerWidth-137)/2)) +"px";
- dividerDiv.style.width="" + 137 + "px";
- dividerDiv.style.height="" + dividerHeight + "px";
-
- // Recalc tabs div dimensions
- tabsDiv.style.position="absolute";
- tabsDiv.style.overflow="hidden";
- tabsDiv.style.top="" + (dividerDiv.demoHeight + dividerHeight + logoBarHeight) + "px";
- tabsDiv.style.left="" + (featuresWidth + 15) + "px";
- tabsDiv.style.width="" + centerWidth + "px";
- tabsDiv.style.height="" + (height - dividerDiv.demoHeight - dividerHeight - logoBarHeight) + "px";
- _UID_updateTabs();
-
- // Recalc demo div dimensions
- demoDiv.style.position="absolute";
- demoDiv.style.overflow="auto";
- demoDiv.style.top="" + logoBarHeight + "px";
- demoDiv.style.left="" + (featuresWidth + 15) + "px";
- demoDiv.style.width="" + centerWidth + "px";
- demoDiv.style.height="" + dividerDiv.demoHeight + "px";
-
- // Recalc control div dimensions
- // TODO, make floating
- controlDiv.style.position="absolute";
- controlDiv.style.overflow="hidden";
- controlDiv.style.top="" + (height - controlHeight) + "px";
- controlDiv.style.left="0";
- controlDiv.style.width="" + featuresWidth + "px";
- controlDiv.style.height="" + controlHeight + "px";
-
- if (animationNeeded) {
- setTimeout("_UID_layout()",30);
- }
-
- /* call custom layouts bridge to notify sub components */
- mainDiv.notifyChildrenOfSizeChange();
-
-};
-
-/** Recalculate tabs content width */
-_UID_updateTabs = function() {
- try {
- var tabsDiv = document.getElementById("_UID_tabs");
- var tabsComponent = itmill.themes.Demo.prototype._UID_elemByIndex(tabsDiv.childNodes,0);
- if (tabsComponent == null) return;
- var tabs = itmill.themes.Demo.prototype._UID_elemByIndex(tabsComponent.childNodes,0);
- if (tabs == null) return;
- var content = itmill.themes.Demo.prototype._UID_elemByIndex(tabsComponent.childNodes,1);
- if (content == null) return;
- content.style.height="" + (tabsDiv.offsetHeight - tabs.offsetHeight-13) + "px";
- content.style.borderBottom="0";
- content.style.overflow='auto';
- var iframe = content.getElementsByTagName("iframe").item(0);
- if (iframe != null) {
- content.style.overflow='hidden';
- content.style.padding='0';
- content.style.height="" + (tabsDiv.offsetHeight - tabs.offsetHeight) + "px";
- iframe.height=content.style.height;
- iframe.style.border='0';
- }
- } catch (e) {}
-};
-
-/** Helper method. Get element from node array by index */
-_UID_elemByIndex = function(nodeArray, index) {
- if (typeof nodeArray == 'undefined' || nodeArray == null) return null;
- var i=0;
- while (index>=0 && i < nodeArray.length) {
- while(i < nodeArray.length && nodeArray[i].nodeType != Node.ELEMENT_NODE) i++;
- if (index == 0) return nodeArray[i];
- index--; i++;
- }
- return null;
-}
-
-_UID_dividerUpdate = function() {
- var dividerDiv = document.getElementById("_UID_divider");
- var div = document.getElementById("_UID_main");
- dividerDiv.isActive = true;
- div.onmouseup = function() {
- dividerDiv.isActive = false;
- div.onmouseup = null;
- div.onmousemove = null;
- }
- div.onmousemove = function(e) {
- dividerDiv.mouseY = typeof e != 'undefined' ? e.clientY : window.event.clientY;
- _UID_layout();
- }
- return false;
-};
-
-_UID_initFeatureBrowserLayout = function() {
- var dividerDiv = document.getElementById("_UID_divider");
- if (dividerDiv == null) alert("no divider div");
- dividerDiv.isActive = false;
- dividerDiv.onmousedown = _UID_dividerUpdate;
-
- var mainDiv = document.getElementById("_UID_main");
-
- /* this will be called by custom layout when its containers size has changed */
- mainDiv.iLayoutJS = function() {
- _UID_layout();
- };
-
-
- _UID_layout();
-};
-
-_UID_initFeatureBrowserLayout();
-
-</script>
-
-</body>
-</html>
\ No newline at end of file
+++ /dev/null
-body, html {\r
- background: #e9eced;\r
- margin: 0;\r
- padding: 0;\r
- height: 100%;\r
-}
\ No newline at end of file
--- /dev/null
+<html>
+<head>
+<link REL="stylesheet" TYPE="text/css">
+</head>
+
+<body><div id="_UID_main" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"><img src="img/header.png" />
+
+ <div id="_UID_features" style="top: 62px; width: 200px; position: absolute; overflow: auto; left: 0;" location="tree">
+ <div style="width: 100%; height: 100%; border: 1px solid red;">tree</div>
+ </div>
+
+ <div id="_UID_demo" style="overflow: auto; position: absolute; top: 62px; left: 215px; ">
+ <table width="100%" height="100%" cellspacing="0" cellpadding="0"
+ border="0">
+ <tbody>
+ <tr>
+ <td valign="middle" align="center">
+ <table>
+ <tbody>
+ <tr>
+ <td style="text-align: left;" location="demo">
+ <div style="width: 100%; height: 100%; border: 1px solid red;">demo</div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div id="_UID_tabs" style="overflow: hidden; position: absolute; left: 215px;" location="tabsheet">
+ <div style="width: 100%; height: 100%; border: 1px solid red;">tabsheet</div>
+ </div>
+
+ <img id="_UID_prop-toggle" src="img/show_properties.png" style=" top: 23px; position: absolute;"/>
+
+ <div id="_UID_props" style="overflow: hidden; position: absolute; top: 23px; width: 0px;" location="properties">
+ <div style="width: 100%; height: 100%; border: 1px solid red;">properties</div>
+ </div>
+
+ <div id="_UID_cntr"
+ style="overflow: hidden; position: absolute; bottom: 10px; left: 0pt; width: 200px; height: 50px;">
+ <table width="100%" height="100%" border="0">
+ <tbody>
+ <tr>
+ <td width="50%" valign="middle" align="center" id="_UID_cntr-left" location="themes">themes</td>
+ <td width="50%" valign="middle" align="center" id="_UID_cntr-right" location="restart">restart</td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <img id="_UID_divider" src="img/tab_handle.png" style="position: absolute;" />
+
+</div>
+
+
+<script type="text/javascript">
+
+/** Recalculate feature browser main layout dimensions for all components */
+_UID_layout = function() {
+
+ // Then animations are needed, this will be reset to true
+ var animationNeeded = false;
+
+ // References to all elements
+ var mainDiv = document.getElementById("_UID_main");
+ if (mainDiv == null) { alert("maindiv is null"); return;}
+ var featuresDiv = document.getElementById("_UID_features");
+ var demoDiv = document.getElementById("_UID_demo");
+ var tabsDiv = document.getElementById("_UID_tabs");
+ var propertiesDiv = document.getElementById("_UID_props");
+ var controlDiv = document.getElementById("_UID_cntr");
+ var dividerDiv = document.getElementById("_UID_divider");
+
+ // Logobar height
+ var logoBarHeight = 62;
+
+ // Get whole window contents size
+ document.body.style.padding = 0;
+ document.body.style.margin = 0;
+ document.body.style.position = "absolute";
+ document.body.style.height = "100%";
+ document.body.style.width = "100%";
+ var width = document.body.offsetWidth;
+ var height = document.body.offsetHeight;
+ mainDiv.style.height = height + "px";
+ mainDiv.style.width = width + "px";
+
+ // Recalc features div dimensions
+ var featuresWidth = 200;
+ var controlHeight = 50;
+ featuresDiv.style.top="" + logoBarHeight + "px";
+ featuresDiv.style.width="" + featuresWidth + "px";
+ featuresDiv.style.height="" + (height-controlHeight-logoBarHeight) + "px";
+
+ // Recalc properties div dimensions
+ if (typeof propertiesDiv.targetWidth == 'undefined') propertiesDiv.targetWidth = 0;
+ var propWidth = Math.floor((propertiesDiv.offsetWidth + propertiesDiv.targetWidth)/2);
+ if (Math.abs(propWidth - propertiesDiv.targetWidth) <= 1) propWidth = propertiesDiv.targetWidth;
+ if (propWidth >width-featuresWidth) propWidth = width-featuresWidth;
+ if (propWidth < 0) propWidth = 0;
+ if ((propWidth+1) != (propertiesDiv.targetWidth+1)) animationNeeded=true;
+ var centerWidth = width - propWidth - featuresWidth - 40;
+ propertiesDiv.style.position="absolute";
+ propertiesDiv.style.overflow="hidden";
+ propertiesDiv.style.top="" + 23 + "px";
+ propertiesDiv.style.left="" + (centerWidth + featuresWidth + 40) + "px";
+ propertiesDiv.style.width=propWidth + "px";
+ propertiesDiv.style.height="" + (height - 23) + "px";
+ var buttonDiv = document.getElementById("_UID_prop-toggle");
+ buttonDiv.style.left = "" + (centerWidth + featuresWidth - 20 + 40) + "px"
+ if (propWidth == 0) { //buttonDiv.src = buttonDiv.showPng;
+ buttonDiv.style.height = "92px"; }
+ if (propWidth == propertiesDiv.maxWidth) { //buttonDiv.src = buttonDiv.hidePng;
+ buttonDiv.style.height = "23px"; }
+ buttonDiv.onclick = function() {
+ var propertiesDiv = document.getElementById("_UID_props");
+ propertiesDiv.targetWidth = propertiesDiv.targetWidth == 0 ? 265 : 0;
+ _UID_layout();
+ };
+
+ // Recalc divider div dimensions
+ if (typeof dividerDiv.demoHeight == 'undefined') dividerDiv.demoHeight = Math.floor(height/2);
+ if (dividerDiv.isActive) {
+ dividerDiv.demoHeight = dividerDiv.mouseY-10 - logoBarHeight;
+ if (dividerDiv.demoHeight < 0) dividerDiv.demoHeight = 0;
+ } else {
+ if (dividerDiv.demoHeight + logoBarHeight > height - 20) dividerDiv.demoHeight = height - 20 - logoBarHeight;
+ if (dividerDiv.demoHeight < 0) dividerDiv.demoHeight = 0;
+ }
+ var dividerHeight = 17;
+ dividerDiv.style.position="absolute";
+ dividerDiv.style.overflow="hidden";
+ dividerDiv.style.top="" + (dividerDiv.demoHeight + logoBarHeight)+ "px";
+ dividerDiv.style.left="" + (15+featuresWidth+Math.round((centerWidth-137)/2)) +"px";
+ dividerDiv.style.width="" + 137 + "px";
+ dividerDiv.style.height="" + dividerHeight + "px";
+
+ // Recalc tabs div dimensions
+ tabsDiv.style.position="absolute";
+ tabsDiv.style.overflow="hidden";
+ tabsDiv.style.top="" + (dividerDiv.demoHeight + dividerHeight + logoBarHeight) + "px";
+ tabsDiv.style.left="" + (featuresWidth + 15) + "px";
+ tabsDiv.style.width="" + centerWidth + "px";
+ tabsDiv.style.height="" + (height - dividerDiv.demoHeight - dividerHeight - logoBarHeight) + "px";
+ _UID_updateTabs();
+
+ // Recalc demo div dimensions
+ demoDiv.style.position="absolute";
+ demoDiv.style.overflow="auto";
+ demoDiv.style.top="" + logoBarHeight + "px";
+ demoDiv.style.left="" + (featuresWidth + 15) + "px";
+ demoDiv.style.width="" + centerWidth + "px";
+ demoDiv.style.height="" + dividerDiv.demoHeight + "px";
+
+ // Recalc control div dimensions
+ // TODO, make floating
+ controlDiv.style.position="absolute";
+ controlDiv.style.overflow="hidden";
+ controlDiv.style.top="" + (height - controlHeight) + "px";
+ controlDiv.style.left="0";
+ controlDiv.style.width="" + featuresWidth + "px";
+ controlDiv.style.height="" + controlHeight + "px";
+
+ if (animationNeeded) {
+ setTimeout("_UID_layout()",30);
+ }
+
+ /* call custom layouts bridge to notify sub components */
+ mainDiv.notifyChildrenOfSizeChange();
+
+};
+
+/** Recalculate tabs content width */
+_UID_updateTabs = function() {
+ try {
+ var tabsDiv = document.getElementById("_UID_tabs");
+ var tabsComponent = itmill.themes.Demo.prototype._UID_elemByIndex(tabsDiv.childNodes,0);
+ if (tabsComponent == null) return;
+ var tabs = itmill.themes.Demo.prototype._UID_elemByIndex(tabsComponent.childNodes,0);
+ if (tabs == null) return;
+ var content = itmill.themes.Demo.prototype._UID_elemByIndex(tabsComponent.childNodes,1);
+ if (content == null) return;
+ content.style.height="" + (tabsDiv.offsetHeight - tabs.offsetHeight-13) + "px";
+ content.style.borderBottom="0";
+ content.style.overflow='auto';
+ var iframe = content.getElementsByTagName("iframe").item(0);
+ if (iframe != null) {
+ content.style.overflow='hidden';
+ content.style.padding='0';
+ content.style.height="" + (tabsDiv.offsetHeight - tabs.offsetHeight) + "px";
+ iframe.height=content.style.height;
+ iframe.style.border='0';
+ }
+ } catch (e) {}
+};
+
+/** Helper method. Get element from node array by index */
+_UID_elemByIndex = function(nodeArray, index) {
+ if (typeof nodeArray == 'undefined' || nodeArray == null) return null;
+ var i=0;
+ while (index>=0 && i < nodeArray.length) {
+ while(i < nodeArray.length && nodeArray[i].nodeType != Node.ELEMENT_NODE) i++;
+ if (index == 0) return nodeArray[i];
+ index--; i++;
+ }
+ return null;
+}
+
+_UID_dividerUpdate = function() {
+ var dividerDiv = document.getElementById("_UID_divider");
+ var div = document.getElementById("_UID_main");
+ dividerDiv.isActive = true;
+ div.onmouseup = function() {
+ dividerDiv.isActive = false;
+ div.onmouseup = null;
+ div.onmousemove = null;
+ }
+ div.onmousemove = function(e) {
+ dividerDiv.mouseY = typeof e != 'undefined' ? e.clientY : window.event.clientY;
+ _UID_layout();
+ }
+ return false;
+};
+
+_UID_initFeatureBrowserLayout = function() {
+ var dividerDiv = document.getElementById("_UID_divider");
+ if (dividerDiv == null) alert("no divider div");
+ dividerDiv.isActive = false;
+ dividerDiv.onmousedown = _UID_dividerUpdate;
+
+ var mainDiv = document.getElementById("_UID_main");
+
+ /* this will be called by custom layout when its containers size has changed */
+ mainDiv.iLayoutJS = function() {
+ _UID_layout();
+ };
+
+
+ _UID_layout();
+};
+
+_UID_initFeatureBrowserLayout();
+
+</script>
+
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+body, html {\r
+ background: #e9eced;\r
+ margin: 0;\r
+ padding: 0;\r
+ height: 100%;\r
+}
\ No newline at end of file
<?xml version="1.0"?>
-<project name="IT Mill Toolkit" basedir="../" default="package-all-platforms">
+<project name="IT Mill Toolkit" basedir="../" default="package-all">
<!-- Package creation - - - - - - - - - - - - - - - - - - - - - - - - -
b) creating platform specific release ZIP/TGZ packages.
-->
- <!-- Initialization - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <!-- Call one of package-* targets unless you understand what you are doing -->
+ <target name="package-all" depends="clean-all, init, build, internal-package-windows, internal-package-linux, internal-package-mac " description="Build public packages for Windows, Linux and Mac platforms.">
+ <!--<antcall target="internal-package-windows" />
+ <antcall target="internal-package-linux" />
+ <antcall target="internal-package-mac" />-->
+ </target>
+
+ <target name="package-windows" depends="clean-all, init, build, internal-package-windows" description="Create public ZIP package for Windows.">
+ </target>
+
+ <target name="package-linux" depends="clean-all, init, build, internal-package-linux" description="Create public tar.bz2 package for Linux.">
+ </target>
+
+ <target name="package-mac" depends="clean-all, init, build, internal-package-mac" description="Create public tar.gz package for Mac.">
+ </target>
+
+ <!-- Initialization - - - - - - - - - - - - - - - - - - - - - - - - -->
<target name="init">
<!-- Find out which platform we are in -->
<if>
<property name="platform" value="mac" />
</then>
</if>
+ <!-- required when compiling WebContent/ITMILL/widgetsets (and also Java server-side classes) -->
<property name="lib-gwt-dev" value="gwt-dev-${platform}.jar" />
+
<echo>We are on ${platform} platform, using build/gwt/${platform}/${lib-gwt-dev}.</echo>
<!-- Create result dir unless already exists -->
<mkdir dir="${output-dir}/WebContent" />
<mkdir dir="${output-dir}/WebContent/WEB-INF" />
<mkdir dir="${output-dir}/WebContent/WEB-INF/classes" />
- </target>
+ <!-- Construct classpath used by java and javadoc compilation -->
+ <path id="compile.classpath">
+ <pathelement path="build/gwt/${platform}/gwt-user.jar" />
+ <pathelement path="build/gwt/${platform}/${lib-gwt-dev}" />
+ <pathelement path="WebContent/WEB-INF/lib/commons-fileupload-1.2.jar" />
+ <pathelement path="lib/reservr/googlemaps_gwt.jar" />
+ <pathelement path="lib/jetty/jetty-6.1.5.jar" />
+ <pathelement path="lib/jetty/jetty-util-6.1.5.jar" />
+ <pathelement path="lib/jetty/servlet-api-2.5-6.1.5.jar" />
+ </path>
- <target name="package-all-platforms" depends="init, clean-all" description="Build public packages for Windows, Linux and Mac platforms.">
- <antcall target="build" />
- <antcall target="package-windows" />
- <antcall target="package-linux" />
- <antcall target="package-osx" />
</target>
- <target name="package-windows" depends="init, clean-all" description="Create ZIP package for Windows.">
- <echo>Building package for Windows platform.</echo>
- <!-- required when compiling WebContent/ITMILL/widgetsets (and also Java server-side classes) -->
- <property name="package-file-name" value="${product-file}-windows-${version}" />
- <antcall target="add-windows-files" />
- <zip zipfile="build/result/${package-file-name}">
- <fileset prefix="${product-file}-${version}" dir="build/result/${product-file}-${version}">
+ <target name="internal-package-windows">
+ <echo>Creating package for Windows platform.</echo>
+ <property name="package-platform" value="windows" />
+ <antcall target="add-platform-specific-files" inheritAll="true" inheritRefs="true" />
+ <zip zipfile="build/result/${product-file}-${package-platform}-${version}.zip">
+ <zipfileset dir="build/result">
<patternset>
- <include name="**/*" />
+ <include name="${product-file}-${version}/**/*" />
</patternset>
- </fileset>
- <fileset prefix="${product-file}-${version}/gwt" dir="build/gwt/windows">
+ </zipfileset>
+ <zipfileset prefix="${product-file}-${version}/gwt" dir="build/gwt/windows">
<patternset>
<include name="**/*" />
</patternset>
- </fileset>
+ </zipfileset>
</zip>
</target>
- <target name="package-linux" depends="init, clean-all" description="Create tar.gz package for Linux.">
- <echo>Building package for Linux platform.</echo>
- <!-- required when compiling WebContent/ITMILL/widgetsets (and also Java server-side classes) -->
- <property name="package-file-name" value="${product-file}-linux-${version}" />
- <antcall target="add-linux-files" />
- <tar destfile="build/result/${package-file-name}.tar.bz2" compression="bzip2" longfile="gnu">
+ <target name="internal-package-linux">
+ <echo>Creating package for Linux platform.</echo>
+ <property name="package-platform" value="linux" />
+ <antcall target="add-platform-specific-files" inheritAll="true" inheritRefs="true" />
+ <tar destfile="build/result/${product-file}-${package-platform}-${version}.tar.bz2" compression="bzip2" longfile="gnu">
<tarfileset prefix="${product-file}-${version}" dir="build/result/${product-file}-${version}">
<patternset>
<include name="**/*" />
</tar>
</target>
- <target name="package-mac" depends="init, clean-all" description="Create tar.gz package for Mac.">
- <echo>Building package for Mac platform.</echo>
- <!-- required when compiling WebContent/ITMILL/widgetsets (and also Java server-side classes) -->
- <property name="package-file-name" value="${product-file}-mac-${version}" />
- <antcall target="add-mac-files" />
- <tar destfile="build/result/${package-file-name}.tar.gz" compression="gzip" longfile="gnu">
+ <target name="internal-package-mac">
+ <echo>Creating package for Mac platform.</echo>
+ <property name="package-platform" value="mac" />
+ <antcall target="add-platform-specific-files" inheritAll="true" inheritRefs="true" />
+ <tar destfile="build/result/${product-file}-${package-platform}-${version}.tar.gz" compression="gzip" longfile="gnu">
<tarfileset prefix="${product-file}-${version}" dir="build/result/${product-file}-${version}">
<patternset>
<include name="**/*" />
</patternset>
</tarfileset>
</tar>
+ <!--
+ TODO: how about creating dmg ?
+ <exec executable="hdiutil">
+ <arg line="create -srcfolder build/result/${product-file}-${version} build/result/${product-file}-${package-platform}-${version}.dmg"/>
+ </exec>
+ -->
</target>
- <target name="add-mac-files" depends="init">
- <antcall target="remove-platform-specific-files" />
+ <target name="add-platform-specific-files">
+ <delete includeemptydirs="true" defaultexcludes="false">
+ <fileset dir="${output-dir}">
+ <include name="start-demo.*" />
+ <include name=".project" />
+ <include name=".classpath" />
+ </fileset>
+ </delete>
<copy todir="${output-dir}">
<filterchain>
<expandproperties />
<token key="/version" value="" />
</replacetokens>
<replacetokens begintoken="<" endtoken=">">
- <token key="platform-specific-entries" value="<classpathentry kind="lib" path="gwt/gwt-dev-mac.jar" />" />
+ <token key="platform-specific-entries" value="<classpathentry kind="lib" path="gwt/gwt-dev-${package-platform}.jar" />" />
<token key="/platform-specific-entries" value="" />
</replacetokens>
</filterchain>
- <fileset dir="build/package">
- <include name="*.sh" />
- </fileset>
<fileset dir="build/package">
<include name=".classpath" />
<include name=".project" />
</fileset>
</copy>
- <chmod file="${output-dir}/start-demo.sh" perm="ugo+x" />
- </target>
-
- <target name="remove-platform-specific-files" depends="init">
- <delete includeemptydirs="true" defaultexcludes="false">
- <fileset dir="${output-dir}">
- <include name="start-demo.*" />
- <include name=".project" />
- <include name=".classpath" />
- </fileset>
- </delete>
+ <if>
+ <equals arg1="${package-platform}" arg2="windows" />
+ <then>
+ <copy todir="${output-dir}">
+ <fileset dir="build/package">
+ <filename name="*.bat" />
+ </fileset>
+ </copy>
+ </then>
+ </if>
+ <if>
+ <equals arg1="${package-platform}" arg2="linux" />
+ <then>
+ <copy todir="${output-dir}">
+ <fileset dir="build/package">
+ <filename name="*.sh" />
+ </fileset>
+ </copy>
+ <chmod file="${output-dir}/start-demo.sh" perm="ugo+x" />
+ </then>
+ </if>
+ <if>
+ <equals arg1="${package-platform}" arg2="mac" />
+ <then>
+ <copy todir="${output-dir}">
+ <fileset dir="build/package">
+ <filename name="*.sh" />
+ </fileset>
+ </copy>
+ <chmod file="${output-dir}/start-demo.sh" perm="ugo+x" />
+ </then>
+ </if>
</target>
+ <!-- TODO: add docs -->
<!-- do not use these directly, use targets named package-* -->
- <target name="build" depends="clean-all, root, demo, docs" description="Build package required files, without packing them.">
- </target>
-
- <!-- do not use these directly, use targets named package-*, retained for build.xml debug purposes only -->
- <target name="build-no-manual" depends="clean-all, root, demo" description="Same as build, but without manual.">
+ <target name="build" depends="root, demo" description="Build package required files, without packing them.">
</target>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Add and filter root files
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
- <target name="root" depends="init">
- <!-- TODO: add license directory and files -->
+ <target name="root">
+ <copy todir="${output-dir}/license">
+ <fileset dir="license">
+ <filename name="*.pdf" />
+ </fileset>
+ </copy>
<copy todir="${output-dir}">
<filterchain>
<expandproperties />
<exclude name="release-notes.html" />
<include name="*.html" />
<include name="*.txt" />
+ <include name="license/*.html" />
</fileset>
</copy>
</target>
<!-- Copy and preprocess sources for packaging
NOTE: Replaces <version></version> tags with build version tag for some "textual" files
-->
- <target name="preprocess-src" depends="init">
+ <target name="preprocess-src">
<mkdir dir="build/result/src" />
<echo>Copying src directory and processing copied files.</echo>
<echo>Replacing <version> tag with build version for java/html/css/xml files.</echo>
WebContent
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<target name="webcontent" depends="preprocess-src">
- <!--
- Copy Eclipse workspace related hidden files (.classpath, .project)
- Allows project import from Eclipse
- -->
- <echo>Adding Eclipse workspace files, replacing <version> tag with build version</echo>
- <copy todir="${output-dir}">
- <filterchain>
- <expandproperties />
- <replacetokens begintoken="<" endtoken=">">
- <token key="version" value="${version}" />
- <token key="/version" value="" />
- </replacetokens>
- </filterchain>
- <fileset dir="build/workspace-eclipse">
- <exclude name="**/.svn" />
- </fileset>
- </copy>
<!-- Add demo sources -->
<echo>Adding demo sources to WebContent/src</echo>
<echo>Compiling src (server-side)</echo>
<!-- Compile -->
<mkdir dir="build/result/classes" />
- <javac source="1.4" target="1.4" srcdir="build/result/src" destdir="build/result/classes" includes="${toolkit-package}/**" debug="true">
- <classpath>
- <pathelement path="build/gwt/${platform}/gwt-user.jar" />
- <pathelement path="build/gwt/${platform}/${lib-gwt-dev}" />
- <pathelement path="WebContent/WEB-INF/lib/commons-fileupload-1.2.jar" />
- <pathelement path="lib/reservr/googlemaps_gwt.jar" />
- <pathelement path="lib/jetty/jetty-6.1.5.jar" />
- <pathelement path="lib/jetty/jetty-util-6.1.5.jar" />
- <pathelement path="lib/jetty/servlet-api-2.5-6.1.5.jar" />
- </classpath>
+ <javac source="1.4" target="1.4" classpathref="compile.classpath" srcdir="build/result/src" destdir="build/result/classes" includes="${toolkit-package}/**" debug="true">
</javac>
</target>
</jar>
</target>
+ <!-- TODO: remove -->
<target name="compile-client-side" depends="libs">
+ </target>
+
+ <target name="compile-client-side2" depends="libs">
<echo>Compiling src (client-side)</echo>
<echo>com.itmill.toolkit.terminal.gwt.DefaultWidgetSet</echo>
<java classname="com.google.gwt.dev.GWTCompiler" failonerror="yes" fork="yes" maxmemory="512m">
</target>
<!-- Demo - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
- <target name="demo" depends="root, libs, compile-java, compile-client-side, javadoc">
+ <target name="demo" depends="libs, compile-java, compile-client-side, javadoc">
<echo>Building demo</echo>
<echo>Adding demo class files.</echo>
<copy todir="${output-dir}/WebContent/WEB-INF/classes">
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Documentation: Add documentation including style files
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
- <target name="package-docs" depends="init">
+ <target name="package-docs">
<copy todir="${output-dir}/doc/manual/html-style">
<fileset dir="doc/manual/html-style">
<exclude name="**/.svn" />
Documentation: Add Javadoc to doc
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<target name="javadoc" depends="preprocess-src">
- <javadoc destdir="${output-dir}/doc/api" author="true" version="true" use="true" windowtitle="${product-name}" classpath="build/lib/servlet-api.jar">
+ <javadoc destdir="${output-dir}/doc/api" author="true" version="true" use="true" windowtitle="${product-name}" classpathref="compile.classpath">
<packageset dir="build/result/src">
<include name="${toolkit-package}/**" />
<exclude name="${toolkit-package}/demo/**" />
</javadoc>
</target>
- <target name="manual-pdf" depends="init">
+ <target name="manual-pdf">
<!-- TODO Include XEP-based FO building in future -->
</target>
- <target name="manual-html" depends="init">
+ <target name="manual-html">
<delete file="build/docbook/conf/temp.xsl" />
<copy file="build/docbook/conf/custom-html-docbook.xsl" tofile="build/docbook/conf/temp.xsl">
<filterchain>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>itmill-toolkit-examples</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.sysdeo.eclipse.tomcat.tomcatnature</nature>
+ </natures>
+</projectDescription>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="src" path="WebContent/src"/>
- <classpathentry kind="lib" path="WebContent/WEB-INF/lib/itmill-toolkit-<version></version>.jar" sourcepath="WebContent/WEB-INF/lib/itmill-toolkit-src-<version></version>.jar"/>
- <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-fileupload-1.2.jar" />
- <classpathentry kind="lib" path="gwt/gwt-servlet.jar" />
- <classpathentry kind="lib" path="gwt/gwt-user.jar" />
- <classpathentry kind="lib" path="gwt/gwt-dev-mac.jar"/>
- <classpathentry kind="lib" path="lib/demo/reservr/googlemaps_gwt.jar" />
- <classpathentry kind="lib" path="lib/jetty/jetty-6.1.5.jar"/>
- <classpathentry kind="lib" path="lib/jetty/jetty-util-6.1.5.jar"/>
- <classpathentry kind="lib" path="lib/jetty/servlet-api-2.5-6.1.5.jar"/>
- <classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
-</classpath>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="src" path="WebContent/src"/>
- <classpathentry kind="lib" path="WebContent/WEB-INF/lib/itmill-toolkit-<version></version>.jar" sourcepath="WebContent/WEB-INF/lib/itmill-toolkit-src-<version></version>.jar"/>
- <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-fileupload-1.2.jar" />
- <classpathentry kind="lib" path="gwt/gwt-servlet.jar" />
- <classpathentry kind="lib" path="gwt/gwt-user.jar" />
- <classpathentry kind="lib" path="gwt/gwt-dev-windows.jar"/>
- <classpathentry kind="lib" path="lib/demo/reservr/googlemaps_gwt.jar" />
- <classpathentry kind="lib" path="lib/jetty/jetty-6.1.5.jar"/>
- <classpathentry kind="lib" path="lib/jetty/jetty-util-6.1.5.jar"/>
- <classpathentry kind="lib" path="lib/jetty/servlet-api-2.5-6.1.5.jar"/>
- <classpathentry kind="output" path="WebContent/WEB-INF/classes"/>
-</classpath>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>itmill-toolkit-examples</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>com.sysdeo.eclipse.tomcat.tomcatnature</nature>
- </natures>
-</projectDescription>
-@java -cp "lib\itmill-5.0.0-alpha.jar;lib\jetty\jetty-6.1.5.jar;lib\jetty\jetty-util-6.1.5.jar;lib\jetty\servlet-api-2.5-6.1.5.jar;WebContent\WEB-INF\classes" com.itmill.toolkit.launcher.ITMillDesktopLaunch\r
+@java -cp "lib\jetty\jetty-6.1.5.jar;lib\jetty\jetty-util-6.1.5.jar;lib\jetty\servlet-api-2.5-6.1.5.jar;WebContent\WEB-INF\classes" com.itmill.toolkit.launcher.ITMillDesktopLaunch\r
// Theme selector
mainlayout.addComponent(themeSelector, "themes");
- themeSelector.addItem("demo");
+ themeSelector.addItem("tests-featurebrowser");
themeSelector.addListener(this);
- themeSelector.select("demo");
+ themeSelector.select("tests-featurebrowser");
themeSelector.setImmediate(true);
// Restart button
+++ /dev/null
-@java -cp "lib\itmill-5.0.0-alpha.jar;lib\jetty\jetty-6.1.5.jar;lib\jetty\jetty-util-6.1.5.jar;lib\jetty\servlet-api-2.5-6.1.5.jar;WebContent\WEB-INF\classes" com.itmill.toolkit.launcher.ITMillDesktopLaunch\r
+++ /dev/null
-#!/bin/sh
-
-java -cp lib/jetty/jetty-6.1.5.jar:lib/jetty/jetty-util-6.1.5.jar:lib/jetty/servlet-api-2.5-6.1.5.jar:WebContent/WEB-INF/classes com.itmill.toolkit.launcher.ITMillDesktopLaunch
+++ /dev/null
-Starting Toolkit demos\r
-\r
-\r
-1) Under Windows environment\r
-\r
-Doubleclick start-demo.bat\r
-\r
-\r
-2) Under Linux or OSX environment\r
-\r
-Open shell and execute "sh start-demo.sh"\r
-\r
-\r
-This starts an integrated Servlet Container which runs Toolkit demo\r
-applications. Your default web browser should be opened automatically.\r