]> source.dussan.org Git - vaadin-framework.git/commitdiff
Merged changesets from branch/4.0 (1581:HEAD)
authorJani Laakso <jani.laakso@itmill.com>
Tue, 12 Jun 2007 09:37:05 +0000 (09:37 +0000)
committerJani Laakso <jani.laakso@itmill.com>
Tue, 12 Jun 2007 09:37:05 +0000 (09:37 +0000)
svn changeset:1682/svn branch:trunk

ReleaseNotes.html
build/VERSION
index.html
src/com/itmill/toolkit/demo/KeyboardShortcut.java
src/com/itmill/toolkit/demo/features/FeatureDateField.java

index d2717cb8ba69dede38f352cd13188429b371f4ae..b155ed8b6b99e8a95ebb64ef968231ae2356cd75 100644 (file)
@@ -34,27 +34,22 @@ table.issues td {
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="container">
 <div id="header"><h1>IT Mill Toolkit</h1></div><div id="itmilllogo"></div><div id="page">
-<div class="navheader"><table width="100%"><tr><th align="center" colspan="3">IT Mill Toolkit</th></tr>
+<div class="navheader"><table width="100%" summary=""><tr><th align="center" colspan="3">IT Mill Toolkit</th></tr>
 <tr><td align="left" width="20%">&nbsp;</td><th align="center" width="60%">&nbsp;</th>
-<td align="right" width="20%"></td></tr></table><hr /></div><div class="book" lang="en">
+<td align="right" width="20%"></td></tr></table summary=""><hr /></div><div class="book" lang="en">
 <div class="titlepage"><div><div><h1 class="title">
 <a name="N40001"></a>IT Mill Toolkit Release Notes</h1></div>
-<div><h2 class="subtitle">Version 4.0.1</h2></div><div>
+<div><h2 class="subtitle">Version 4.0.2</h2></div><div>
 <div class="author"><h3 class="author"></h3></div></div>
 <div><p class="copyright">Copyright &copy; 2007 Oy IT Mill Ltd. All rights reserved.</p></div>
 <div><div class="abstract"><p class="title"></p>
 
 <h3>General</h3>
 <p>
-Version 4.0.1 is an maintenance release for IT Mill Toolkit 4.0 branch. It contains bugfixes for various browsers including few critical fixes for mobile terminals. We have added multiple new demos, source code included. Client-side source code is also provided for those who wish to look further how new themes or custom UI components are created for Toolkit applications, see themes under lib directory. Note, that client-side API (i.e. JavaScript and CSS files) are subject to change during 2007. These changes are required for better client-side compatibility, and they will not affect on the server-side Java APIs and components. Contact support@itmill.com for more information about client-side API changes.
+Version 4.0.2 is an maintenance release for IT Mill Toolkit 4.0 branch. It contains bugfixes for various browsers including critical memory leak fixes.
 </p>
 <p>
-Following changes may be considered as enhancements even though this is a maintenance release. See demos for more information.
-<ul>
-<li>Select component has server-side lazyloading functionality (large dataset scenarios)</li>
-<li>Select component has filter options (begins with, contains, ends with filters)</li>
-<li>UI components may be controlled with keyboard (Toolkit has support for receiving key events)</li>
-</ul>
+Client-side API (i.e. JavaScript and CSS files) are subject to change during 2007. These changes are required for better client-side compatibility, and they will not affect on the server-side Java APIs and components. IT Mill Toolkit 4.0 branch is not involved with these changes. Contact support@itmill.com for more information about client-side API changes.
 </p>
 <p>
 Note that executing demos locally may provide security warning from your firewall
@@ -62,9 +57,9 @@ software. This is due to started Web service which is required to run demos.
 You have to ignore warnings or temporarily accept connections to port 8888 on your firewall software.
 </p>
 <p>
-A simple Millstone migration example is also included in demos. Previously Toolkit library was called <a href="http://www.millstone.org">Millstone UI Library</a>. The last publicly available
-version of <a href="http://www.millstone.org">Millstone UI Library</a> is 3.1.1. This new generation 4.0.1
-version of the library is still API-level compatible with the previous version.
+Previously IT Mill Toolkit was called <a href="http://www.millstone.org">Millstone UI Library</a>. The last publicly available
+version of <a href="http://www.millstone.org">Millstone UI Library</a> is 3.1.1. This new generation 4.0.2
+version of the library is still API-level compatible with the previous generation. A simple Millstone migration example is included in demos. 
 </p>
 <p>
 See <a href="index.html">index.html</a> for more information.
@@ -77,7 +72,7 @@ Supported server-side environments are
 <ul><li>Sun JDK, version 1.4, 5 and 6
 </li><li>Servlet Container, version 2.3 and 2.4
 </li><li>Application Servers / Servlet Containers
-<ul><li>Apache Tomcat, since version 5
+<ul><li>Apache Tomcat, since version 4.1
 </li><li>BEA WebLogic Server, since version 8.1
 </li><li>IBM WebSphere Application Server, since version 5.1
 </li><li>JBoss Application Server, since version 3.2.7
@@ -109,7 +104,7 @@ Supported client-side environments are
 <li>Operating systems
 <ul><li>Windows 2000 Pro/2000 Server 2003/XP Server/XP Pro/XP Home/Vista
 </li><li>Mac OS X 10.3 / 10.4 / 10.5
-</li><li>Linux Debian / RedHat / Ubuntu / Suse
+</li><li>Linux Red Hat / CentOS / Suse / Debian / Ubuntu
 </li></ul></li></ul>
 
 <h3>How to start</h3>
@@ -117,14 +112,14 @@ Supported client-side environments are
 See <a href="index.html">index.html</a> for more information or go to <i>Developers' Area</i> at <a href="http://www.itmill.com">www.itmill.com</a>.
 </p>
 
-<h3>Changes in this Release (4.0.1)</h3>
+<h3>Changes in this Release (4.0.2)</h3>
 
 <h4>Compatibility</h4>
 <p>
-IT Mill Toolkit version 4.0.1 is API level compatible with Millstone UI Library version 3.1.1.
+IT Mill Toolkit versions 4.0.0 and 4.0.1 are API level compatible with version 4.0.2.
 </p>
 <p>
-Following steps are required to upgrade from version 3.1.1 into 4.0.1:
+Following steps are required to upgrade from Millstone UI Library version 3.1.1 to Toolkit version 4.0.2:
 </p>
 <ul><li>1. update your application's imports
 <ul><li>search for <em>import org.millstone.base.*</em>
@@ -133,64 +128,70 @@ Following steps are required to upgrade from version 3.1.1 into 4.0.1:
 <ul><li>search for <em>&lt;servlet-class&gt;org.millstone.webadapter.WebAdapterServlet&lt;/servlet-class&gt;</em>
 </li><li>and replace to <em>&lt;servlet-class&gt;com.itmill.toolkit.terminal.web.ApplicationServlet&lt;/servlet-class&gt;</em></li></ul></li></ul>
 
-<h4>Fixed issues in this Release (4.0.1)</h4>
-<table class="issues">
+
+<h4>Fixed issues in this Release (4.0.2)</h4>
+<table class="issues" summary="">
 <tbody>
-<tr><th>Since version</th><th>Issue</th><th>Description</th><th>Workaround</th></tr>
-<tr><td align="left">4.0.0</td><td align="left">Window with Button or Select limitations (Firefox)</td><td align="left">Using Select component with style "optiongroup" or Button component with "SwitchMode" inside Window component does not work reliably. Select or Button components. Affects Firefox browsers.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Table column hiding issue</td><td align="left">If user hides columns from Table component and Table is rendered again (e.g. Web browser reload current page is executed), columns are garbled and table horizontal size is wrong.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Themes are obfuscated</td><td align="left">Creating new and modifying existing Themes or UI components on Toolkit is impossible because only optimized (compressed and therefore obfuscated) version of Themes are offered in Toolkit release.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Table context menus do not work (Safari / WebKit)</td><td align="left">Context menus activated by 2nd mouse button on Table component do not work. Affects Safari and WebKit browsers.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Feature Browser properties table empty (Safari 2)</td><td align="left">You cannot edit properties of any component on Feature Browser demo. Affects Safari 2 browser.</td><td align="left">Test Feature Browser Properties panel demo using any other supported browser.</td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Table sorts even if sort is disabled</td><td align="left">Table component sorts even if setSortDisabled(true) is set.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Select visual issue with popup messages (IE 6)</td><td align="left">Select components widgets are seen through popup messages if component alignment is appropriate. Affects Internet Explorer 6 browser.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Setting focus on Java side to any UI component does not work.</td><td align="left">AbstractField.setFocus() method is broken.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Table scrollable even if it's disabled</td><td align="left">Table that is not enabled may still be scrolled but content is not updated from the server.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Table does not work with mouse scroll wheel (Opera 9)</td><td align="left">Table components rows scroll, but new rows are not fetched. Affects Opera 9 browser.</td><td align="left">Use scroll bar in usual manner instead.</td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Table with MultiSelect feature limitation.</td><td align="left">Table component that has MultiSelect feature enabled forgets selected rows if user scrolls table rows enough up or down.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Mouse usability is not good with Feature Browser demo (Nokia S60)</td><td align="left">Mouse pointer usability is poor on Feature Browser demo. This might cause problems in selecting some items in Feature Browser demo. Affects Nokia S60 browsers.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Table render anomalies when disabled and columns edited (IE 7)</td><td align="left">Table component may be rendered transparently if Table is disabled and columns are resized and one column is hidden. Affects Internet Explorer 7 browser.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Table column widths not optimal with empty table</td><td align="left">Table component column widths are not optimal when content is first empty and then single item is added to Table.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Windows and context menus suffers minor jitter when rendering</td><td align="left">Rendering suffers of jitter when using component Context menus  (Action class) and Windows with style "modal".</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Select rendering anomalies</td><td align="left">Select component with style "twincol" may render deformed if zero or only few items exists on Select component.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Table may busyloop in rare ciscumstances (Safari)</td><td align="left">Table component may fall into eternal loop in some rare circumstances. Affects Safari browsers.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Table with labels limitation</td><td align="left">Table component that contains Label components did not render all Labels properties such as icons.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Table embedded objects do not work</td><td align="left">Setting embedded objects (e.g. icons) to table does not work.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Table horizontal scroll reloads</td><td align="left">Horizontal scroll in Table component forces reloads of the component. These cause the bar to pop back to the beginning and sometimes resizes the entire table effectively preventing the user from viewing the information.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Select visual anomalies</td><td align="left">1) Select component with style "lazyLoading" always renders options ("itemCaption") using toString(), without regard to current itemCaptionPropertyId. Therefore you cannot specify which property to use as caption.    2) Theme for Select component with style "lazyLoading" renders options without caption (empty string) as an empty div. Therefore option is only a few pixels high, and hard to select.</td><td align="left"></td></tr>
+<tr><td align="left">Since version</td><td align="left">Issue</td><td align="left">Description</td><td align="left">Workaround</td></tr>
+<tr><td align="left">4.0.0</td><td align="left">ContainerHierarchicalWrapper setParent at root level issue</td><td align="left">Relocating an item to root node is not possible with ContainerHierarchicalWrapper. </td><td align="left">If you need to relocate an item to root node, create new Container.</td></tr>
+<tr><td align="left">4.0.0</td><td align="left">DateField format limitation</td><td align="left">DateField component renders dates in day.month.year format.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Memory leak</td><td align="left">Applications are never garbage collected. This is considered as critical memory leak.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Some virtual hosts configuration may fail</td><td align="left">Some virtual hosts configurations may not work with Toolkit because of the way Toolkit serves Application resources (XSS issues with URLs).</td><td align="left"></td></tr>
+<tr><td align="left">4.0.1</td><td align="left">Table may throw NullPointerException when it is removed</td><td align="left">NullPointerException may be thrown when Table is being removed from a Container.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.1</td><td align="left">Select with lazyloading issue</td><td align="left">If user first types some letter to a Select component that is using lazyloading style and then selects an item from the list, the first item in the list is always selected.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Popups position calculation not optimal</td><td align="left">Popups on various UI components are not displayed on best possible place.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Windows limitation in HTML-mode</td><td align="left">Multiple Window components are not supported in HTML-mode.</td><td align="left">Use AJAX mode instead.</td></tr>
+<tr><td align="left">4.0.1</td><td align="left">Label CONTENT_RAW broken</td><td align="left">Label with content mode CONTENT_RAW does not work.</td><td align="left">Use CONTENT_XHTML as content mode instead.</td></tr>
+<tr><td align="left">4.0.0</td><td align="left">ComponentDetachEvents do not work</td><td align="left">ComponentAttachEvent (wrong) is thrown instead ComponentDetachEvent (correct).</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Servlet Specification 2.4 required to deploy demo WAR</td><td align="left">Official demos located at itmill-toolkit.war had dependency for Servlet Specification version 2.4. This prevents deployment to Servlet Containers that follow version 2.3 specification.</td><td align="left">Downgrade web.xml notation to Servlet Specification version 2.3.</td></tr>
+<tr><td align="left">4.0.1</td><td align="left">Window with Select interoperability issue</td><td align="left">Select with lazyloading under Window component does not work.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Denial of service under extreme server load</td><td align="left">Toolkit applications are not always served because of concurrency issues under extreme load of multiple concurrent users.</td><td align="left">Clients that get HTTP error messages have to press browser's "refresh" button to get back into their application. After refresh session continues normally.</td></tr>
+<tr><td align="left">4.0.0</td><td align="left">On some rare cases exceptions are not written to console</td><td align="left">ApplicationServlet service method may produce exceptions on some rare cases, these exceptions are only displayed for end user (browser) but not written to console.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.1</td><td align="left">On some cases Application does not start if JavaScript is disabled</td><td align="left">If user has disabled JavaScript from the browser and accesses Toolkit application without renderingMode=detect parameter in URL, eternal looping occurs in user's browser.</td><td align="left">Add renderingMode=detect parameter to URL.</td></tr>
+<tr><td align="left">4.0.1</td><td align="left">Firebug lite debugging tool does not work</td><td align="left">Firebug lite cannot be used as an debugging tool for Toolkit applications.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.1</td><td align="left">Table rendering issue (Opera 9, Firefox)</td><td align="left">Table component with long content does not have optimal cell size on initial render. Affects Opera 9 and Firefox browsers.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.1</td><td align="left">Component tooltip may not close</td><td align="left">Component that has a tooltip (e.g. ComponentError) may not be closed on some cases.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.1</td><td align="left">Select with lazyloading may hang Application (Safari)</td><td align="left">Select with lazyloading hangs Toolkit application if user uses non-ascii characters to filter or look up items.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Calendar and Window interoperability</td><td align="left">Opening Calendar component in child windows in AJAX-mode is unsupported.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Table sort provides minor jitter on HTML-mode (Opera 9)</td><td align="left">Sorting Table component rows with HTML-mode may result in temporary relocation of component for small amount of time. This can be seen as minor jitter on client-side. Affects Opera 9 browser.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.1</td><td align="left">Select with lazyloading dropdown issue</td><td align="left">Select with lazyloading keeps dropdown list open even if focus is lost from Select component.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.1</td><td align="left">TabSheet with disabled tab issue</td><td align="left">TabSheet that has disabled tabs is not rendered correctly.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Table containing Label component issue</td><td align="left">Table may not render Label components with new content after they are updated on some cases.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Table context menu alignment issue</td><td align="left">Table context menu is aligned wrong if browser window is horizontally scrolled.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.1</td><td align="left">Table containing Select component issue</td><td align="left">Table containing Select with lazyloading has rendering issues.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.1</td><td align="left">Select with lazyloading on bottom of the browser area issue</td><td align="left">When Select with lazyloading is located at bottom of the browser area and user opens dropdown list, browser provides unnecessary scroll effect. </td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Initial Toolkit page is not valid</td><td align="left">Initial Toolkit page which serves JavaScript and other application resources back to user's browser does not conform to XHTML 1.0 Transitional specification.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Table column popup opens right to the table</td><td align="left">Table column popup should open towards table, not to the right of it.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Obsolete Theme warning in console</td><td align="left">On some developer environments an obsolete warning is displayed if developer is not using default theme package.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Form getValidators issue</td><td align="left">If Form has no validators and getValidators method is called, new validator list is implicitly created but the validator list is not returned back.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Customer license may fail on some environments</td><td align="left">Whitespace text-node detection behaves differently on different environments, you might get invalid license exception when accessing Toolkit applications after upgrading your server environment (JDK, Operating system and such).</td><td align="left"></td></tr>
 </tbody></table>
 
 <br />
-<h4>Known issues in this Release (4.0.1)</h4>
-<table class="issues">
+<h4>Known issues in this Release (4.0.2)</h4>
+<table class="issues" summary="">
 <tbody>
-<tr><th>Since version</th><th>Issue</th><th>Description</th><th>Workaround</th></tr>
-<tr><td align="left">4.0.0</td><td align="left">Datefield format limitation</td><td align="left">Datefield component renders dates in day.month.year format.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Popups position calculation not optimal</td><td align="left">Popups on various UI components are not displayed on best possible place.</td><td align="left"></td></tr>
+<tr><td align="left">Since version</td><td align="left">Issue</td><td align="left">Description</td><td align="left">Workaround</td></tr>
+<tr><td align="left">4.0.1</td><td align="left">TabSheet issue (Safari)</td><td align="left">If user changes any component (e.g. TextField or Select) which is located in Tab A and then moves to Tab B, component state change is lost. Affects Safari browsers.</td><td align="left">Add e.g. Button component that is used to save changes before moving from one Tab to another.</td></tr>
 <tr><td align="left">4.0.0</td><td align="left">Closing Application session not possible.</td><td align="left">AjaxApplicationContext class does not include any method for closing sessions.</td><td align="left">Register TransactionListener where HttpServletRequest class is available. HttpServletRequest provides you access to session.</td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Keyboard input feature in beta stage for AJAX-mode.</td><td align="left">Keyboard input feature for UI components is supported, but considered as beta for AJAX-mode. API may change.</td><td align="left"></td></tr>
 <tr><td align="left">4.0.0</td><td align="left">Table with certain configuration does not sort</td><td align="left">When "List" or "Paging" styles are used, Table component sorts only to one direction.</td><td align="left">Use "Default" style.</td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Windows limitation in HTML-mode</td><td align="left">Multiple Window components are not supported in HTML-mode.</td><td align="left"></td></tr>
 <tr><td align="left">4.0.0</td><td align="left">Select NullPointerException</td><td align="left">It is not possible to select null item for Select component after some other item has been selected, doing this results in NullPointerException.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Upload requires manual refresh (Safari / Konqueror)</td><td align="left">Upload component requires manual refresh from browser after file is sent from client to server. This issue is related to bug that exists in Safari and Konqueror browsers. Note, current WebKit has this issue resolved. Affects Safari and Konqueror browsers.</td><td align="left">Test Feature Browser Upload component demo using some other supported browser.</td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Select with "Twincol" style is hard to use</td><td align="left">I cannot select multiple items in "Twincol" style Select component.</td><td align="left">In "Twincol" style you most likely want to allow multiple selections also or only one selection is allowed on right side (selected). Check Select components API for more information.</td></tr>
 <tr><td align="left">4.0.1</td><td align="left">Table column size modifications broken (Opera 9)</td><td align="left">Dragging table column size larger or smaller does not align headers correctly. Affects Opera 9 browser.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.1</td><td align="left">Label CONTENT_RAW broken</td><td align="left">Label with content mode CONTENT_RAW does not work.</td><td align="left">Use CONTENT_XHTML as content mode instead.</td></tr>
 <tr><td align="left">4.0.1</td><td align="left">Table setVisible state issue</td><td align="left">Setting Table visibility to false and then back to true does not always bring Table back to UI.</td><td align="left">Put your Table into component container such as Panel and use Panel's setVisible methods instead.</td></tr>
+<tr><td align="left"></td><td align="left">Table column selector issue (Konqueror)</td><td align="left">Table column hide or show selector makes screen area black while doing selection. Affects Konqueror browser.</td><td align="left"></td></tr>
 <tr><td align="left">4.0.0</td><td align="left">Table row header icon limitation</td><td align="left">Table does not properly support icons in row headers in AJAX rendering mode</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">DateField does not support Locale on AJAX-mode</td><td align="left">Changing locale for DateField component does not produce any visible changes when AJAX-mode is used. HTML mode is not affected by this bug.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Calendar and Window interoperability</td><td align="left">Opening Calendar component in child windows in AJAX-mode is unsupported</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">DateField does not support Locale on AJAX-mode</td><td align="left">Changing locale for DateField component does not produce any visible changes when AJAX-mode is used. HTML mode is not affected by this bug.</td><td align="left">You can set locale by calling getApplication().setLocale(new Locale("en","US")), but change affects whole Application and not just DateField.</td></tr>
 <tr><td align="left">4.0.0</td><td align="left">Nokia Communicator 9300i may not work with Toolkit</td><td align="left">Autodetection of Nokia Communicator 9300i may fail. This results to empty application screen.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Select may produce JavaScript errors</td><td align="left">If "lazyloading" feature is used for Select component, Javascript error is produced for each typed character that does not match. This mean cases where user is searching for values that do not exists.  </td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Embedded limitation</td><td align="left">Method setVisible() provides no changes on the component.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Select may produce JavaScript errors</td><td align="left">If "lazyloading" feature is used for Select component, users that have JavaScript debugging in use see an error for each typed character that does not match. This mean cases where user is searching for values that do not exists.  </td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Embedded limitation</td><td align="left">Method setVisible() provides no changes on the component.</td><td align="left">Put Embedded component inside some Container and use Container's setVisible() instead.</td></tr>
 <tr><td align="left">4.0.0</td><td align="left">Embedded limitation</td><td align="left">Method setEnable() provides no changes on the component.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Upload requires manual refresh (Safari / Konqueror)</td><td align="left">Upload component requires manual refresh from browser after file is sent from client to server. This issue is related to bug that exists in Safari and Konqueror browsers. Note, current WebKit has this issue resolved. Affects Safari and Konqueror browsers.</td><td align="left">Test Feature Browser Upload component demo using some other supported browser.</td></tr>
 <tr><td align="left">4.0.0</td><td align="left">Terminal class not usable until Application is initialized.</td><td align="left">Terminal class is null until Application.init() has been completed.</td><td align="left">Create CustomComponent and use it as your Application's first page. You can now override paint() method and access Terminal class before anything is rendered at client-side.</td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Table sort provides minor jitter on HTML-mode (Opera 9)</td><td align="left">Sorting Table component rows with HTML-mode may result in temporary relocation of component for small amount of time. This can be seen as minor jitter on client-side. Affects Opera 9 browser.</td><td align="left"></td></tr>
-<tr><td align="left">4.0.0</td><td align="left">Demo package does not work fully with Oracle AS</td><td align="left">When demo package itmill-toolkit.war is deployed to Oracle Application Server, non-AJAX (HTML) demos fail and you cannot browse javadocs or theme code.</td><td align="left">Configure Oracle AS to allow directory listing for docs and themes directories. To get HTML demos work you have to specify the used XSLT processor with JVM parameter like:<br />
--Djavax.xml.transform.TransformerFactory = <br />net.sf.saxon.TransformerFactoryImpl<br />
--Dorg.xml.sax.driver = <br />org.apache.crimson.parser.XMLReaderImpl</td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Demo package does not work fully with Oracle AS</td><td align="left">When demo package itmill-toolkit.war is deployed to Oracle Application Server, non-AJAX (HTML) demos fail and you cannot browse javadocs or theme code.</td><td align="left">Configure Oracle AS to allow directory listing for docs and themes directories. To get HTML demos work you have to specify the used XSLT processor with JVM parameter like:   -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl  -Dorg.xml.sax.driver=org.apache.crimson.parser.XMLReaderImpl</td></tr>
 <tr><td align="left">4.0.1</td><td align="left">Setting focus to UI component limitations</td><td align="left">AbstractField.setFocus() method works only for Button and Textfield components.</td><td align="left"></td></tr>
+<tr><td align="left">4.0.0</td><td align="left">Keyboard input feature in beta stage for AJAX-mode</td><td align="left">Keyboard input feature for UI components is supported, but considered as beta for AJAX-mode. API may change.</td><td align="left"></td></tr>
 <tr><td align="left">4.0.0</td><td align="left">Embedded does not work on HTML-mode (IE 6, 7)</td><td align="left">Embedded objects may not be seen on HTML-mode. Affects Internet Explorer 6 and 7 browsers.</td><td align="left"></td></tr>
+<tr><td align="left"></td><td align="left">Window with Modal style issue (Konqueror)</td><td align="left">Modal window makes other application screen area black. After modal window is closed, screen area is again normal. Affects Konqueror browser.</td><td align="left"></td></tr>
 <tr><td align="left">4.0.0</td><td align="left">Button usability (Safari)</td><td align="left">Selected Button component can only be clicked by pressing spacebar when using keyboard. Enter would be a more intuitive choice. Affects Safari browser.</td><td align="left"></td></tr>
 <tr><td align="left">4.0.1</td><td align="left">URIHandler, ParameterHandler broken (Safari)</td><td align="left">URIHandler and ParameterHandler does not work. Affects Safari browsers.</td><td align="left"></td></tr>
 </tbody></table>
@@ -200,4 +201,4 @@ Following steps are required to upgrade from version 3.1.1 into 4.0.1:
 
 <br />
 
-</div><div class="navfooter"><hr><table width="100%"><tr><td align="left" width="40%">&nbsp;</td><td align="center" width="20%">&nbsp;</td><td align="right" width="40%"></td></tr><tr><td valign="top" align="left" width="40%">&nbsp;</td><td align="center" width="20%">&nbsp;</td><td valign="top" align="right" width="40%"></td></tr></table></div></div><div id="footer"><span>Version: 4.0.1</span>&copy; Oy IT Mill Ltd. 2000-2007</div></div></body></html>
+</div><div class="navfooter"><hr /><table width="100%" summary=""><tr><td align="left" width="40%">&nbsp;</td><td align="center" width="20%">&nbsp;</td><td align="right" width="40%"></td></tr><tr><td valign="top" align="left" width="40%">&nbsp;</td><td align="center" width="20%">&nbsp;</td><td valign="top" align="right" width="40%"></td></tr></table></div></div><div id="footer"><span>Version: 4.0.2</span>&copy; Oy IT Mill Ltd. 2000-2007</div></div></body></html>
index d654ba33eb687f00dbf2b44282c01f4e26ead8b2..3eaa89b0fb33c57eb7dcfff1d137cebbc4169683 100644 (file)
@@ -1 +1 @@
-version=4.0.1-testing
\ No newline at end of file
+version=4.0.2
index d4ab5fc3d57054d150ceac855907be6200becd24..34c41a51fcf32386d1530a24f913572ecc352181 100644 (file)
@@ -35,9 +35,9 @@
   <div class="content">
        <h4>Library</h4>
        <ul>
-       <li><a href="lib/itmill-toolkit-4.0.1-testing.jar">Toolkit</a></li>
-       <li><a href="lib/itmill-toolkit-src-4.0.1-testing.jar">Toolkit Source</a></li>
-       <li><a href="lib/itmill-toolkit-themes-4.0.1-testing.jar">Themes</a></li>
+       <li><a href="lib/itmill-toolkit-4.0.2.jar">Toolkit</a></li>
+       <li><a href="lib/itmill-toolkit-src-4.0.2.jar">Toolkit Source</a></li>
+       <li><a href="lib/itmill-toolkit-themes-4.0.2.jar">Themes</a></li>
        <li><a href="lib/itmill-toolkit-license.xml">Developer license</a></li>
        </ul>
 
@@ -68,7 +68,7 @@
  <h2>Demo and sample code</h2>
  <p>To get a quick feel for Toolkit, please have a look at the demos:</p>
        <ul>
-       <li><a href="http://toolkit.itmill.com/demo/?s=4.0.1-testing-package">Online at IT Mill</a></li>
+       <li><a href="http://toolkit.itmill.com/demo/?s=4.0.2-package">Online at IT Mill</a></li>
        <li>To run demos locally, run start.bat (Windows) or start.sh (Mac or Linux) 
        in the <a href="demo">demo -directory</a>.
        After the local demo server has started, the demos are running at
index ac5f2e69a0619eaf1bc763ce5552b55444b8452a..4bb1e6cff88de75adc7fd46b5fffed5db81345b7 100644 (file)
@@ -17,43 +17,33 @@ public class KeyboardShortcut extends com.itmill.toolkit.Application implements
 
        private Button a;
 
-       private Button b;
+       private Button z;
 
-       private Button c;
+       private Button x;
 
        private Button close;
 
-       private Button d;
-
-       private Button e;
-
        private AbstractField f;
 
        public void init() {
 
-               /*
-                * - Create new window for the application - Give the window a visible
-                * title - Set the window to be the main window of the application
-                */
                main = new Window("Keyboard shortcuts demo");
                setMainWindow(main);
-
-               // set the application to use Corporate -theme
                setTheme("corporate");
 
-               /*
-                * - Create a label with the classic text - Add the label to the main
-                * window
-                */
                main
                                .addComponent(new Label(
                                                "<h3>Test application for shortcut actions</h3>"
-                                                               + "<b>Note: This feature is under development and is considered as beta.</b><br />"
-                                                               + "<b>Note:</b> if events do not work, <b>set focus to Textfield first.</b>",
-                                               Label.CONTENT_XHTML));
+                                                               + "<p><b>Notes:</b><br />"
+                                                               + "<b>This feature is under development and it's API may still change.</b><br />"
+                                                               + "<b>If events do not work, <b>set focus to Textfield first.</b><br />"
+                                                               + "<b>Browsers may have reserved the keyboard combinations used in "
+                                                               + "this demo for other purposes.</b><br /></p>",
+                                               Label.CONTENT_RAW));
                main
                                .addComponent(new Label(
-                                               "ESC restarts program, alt-A hits A button, ctrl-B hits B button, ctrl-shift-C hits C"));
+                                               "ESC restarts program, ctrl-shift-a clicks A button, "
+                                                               + "ctrl-shift-z clicks Z button, ctrl-shift-x clicks X button"));
 
                // Restart button
                close = new Button("restart", this, "close");
@@ -63,58 +53,40 @@ public class KeyboardShortcut extends com.itmill.toolkit.Application implements
                a = new Button("Button A", this, "buttonAHandler");
                a.addActionHandler(this);
 
-               b = new Button("Button B", this, "buttonBHandler");
-               b.addActionHandler(this);
+               z = new Button("Button Z", this, "buttonZHandler");
+               z.addActionHandler(this);
 
-               c = new Button("Button C", this, "buttonCHandler");
-               c.addActionHandler(this);
+               x = new Button("Button X", this, "buttonXHandler");
+               x.addActionHandler(this);
 
                f = new TextField("Textfield");
 
                main.addComponent(a);
-               main.addComponent(b);
-               main.addComponent(c);
+               main.addComponent(z);
+               main.addComponent(x);
                main.addComponent(f);
 
-               d = new Button("Click to focus button B", this, "setFocusB");
-               main.addComponent(d);
-               d = new Button("Click to focus Textfield", this, "setFocusF");
-               main.addComponent(d);
-               e = new Button("Test buton", this, "buttonEHandler");
-               e.addActionHandler(this);
-               main.addComponent(e);
-               f.focus();
-       }
-
-       public void setFocusB() {
-               b.focus();
-       }
-
-       public void setFocusF() {
                f.focus();
        }
 
        public Action[] getActions(Object target, Object sender) {
                Action[] actions = new Action[1];
-               if (sender == b) {
-                       actions[0] = (Action) (new ShortcutAction("Button b action",
-                                       ShortcutAction.KeyCode.B,
-                                       new int[] { ShortcutAction.ModifierKey.CTRL }));
-
-               } else if (sender == c) {
-                       actions[0] = (Action) new ShortcutAction("Button c action",
-                                       ShortcutAction.KeyCode.C, new int[] {
+               if (sender == a) {
+                       actions[0] = (Action) new ShortcutAction("Button a action",
+                                       ShortcutAction.KeyCode.A, new int[] {
                                                        ShortcutAction.ModifierKey.CTRL,
                                                        ShortcutAction.ModifierKey.SHIFT });
-               } else if (sender == e) {
-                       actions[0] = (Action) new ShortcutAction("Button E action 2",
+               } else if (sender == z) {
+                       actions[0] = (Action) (new ShortcutAction("Button z action",
+                                       ShortcutAction.KeyCode.Z, new int[] {
+                                                       ShortcutAction.ModifierKey.CTRL,
+                                                       ShortcutAction.ModifierKey.SHIFT }));
+
+               } else if (sender == x) {
+                       actions[0] = (Action) new ShortcutAction("Button x action",
                                        ShortcutAction.KeyCode.X, new int[] {
                                                        ShortcutAction.ModifierKey.CTRL,
                                                        ShortcutAction.ModifierKey.SHIFT });
-               } else if (sender == a) {
-                       actions[0] = (Action) new ShortcutAction("Button a action",
-                                       ShortcutAction.KeyCode.A,
-                                       new int[] { ShortcutAction.ModifierKey.ALT });
                } else {
                        // restart button
                        actions[0] = new ShortcutAction("Restart ",
@@ -126,12 +98,10 @@ public class KeyboardShortcut extends com.itmill.toolkit.Application implements
        public void handleAction(Action action, Object sender, Object target) {
                if (target == a)
                        this.buttonAHandler();
-               if (target == b)
-                       this.buttonBHandler();
-               if (target == c)
-                       this.buttonCHandler();
-               if (target == e)
-                       this.buttonEHandler();
+               if (target == z)
+                       this.buttonZHandler();
+               if (target == x)
+                       this.buttonXHandler();
                if (target == close)
                        this.close();
        }
@@ -140,15 +110,12 @@ public class KeyboardShortcut extends com.itmill.toolkit.Application implements
                main.addComponent(new Label("Button A handler fired"));
        }
 
-       public void buttonBHandler() {
-               main.addComponent(new Label("Button B handler fired"));
+       public void buttonZHandler() {
+               main.addComponent(new Label("Button Z handler fired"));
        }
 
-       public void buttonCHandler() {
-               main.addComponent(new Label("Button C handler fired"));
+       public void buttonXHandler() {
+               main.addComponent(new Label("Button X handler fired"));
        }
 
-       public void buttonEHandler() {
-               main.addComponent(new Label("Button E handler fired"));
-       }
 }
index 5aa2eadf186312471badf5d4a4b59cf9213cbf58..b372bb08a25e048876aa8fe12795244f7ff24417 100644 (file)
@@ -53,7 +53,10 @@ public class FeatureDateField extends Feature {
 
                OrderedLayout l = new OrderedLayout();
 
-               // Example panel
+               l.addComponent(new Label("Your locale is: "
+                               + this.getApplication().getLocale().toString()
+                                               .replace('_', '-')));
+
                DateField df = new DateField();
                df.setValue(new java.util.Date());
                l.addComponent(df);