


|
 |
 |
 |
 |

|
TotalCross 1.0
(tags in the source code have tc100b5 prefix).
» fixed onExit not being called on iPhone when the exit button was pressed. This was also causing the Settings.appSettings not being saved. Before this fix, these are only stored if you provide a way to exit from the application using the MainWindow.exit function.
» now the iphone's icon is taken from the provided appicon.gif or bmp files. Before, you must provide a file named icon60x60.png to be able to see a custom icon.
» fixed Convert.toLong("") throwing an ArrayIndexOutOfBoundsException at desktop. Works fine at device.
1. fixed ImageControl not correctly working with centerImage and with the constructor that receives an image.
2. fixed ImageControl not drawing the background image when transparent color was not empty.
» fixed iPhone's icon name not using the one provided in the MainWindow's constructor.
3. fixed Settings.daylightSavings on Windows CE always returning true. Now it correctly returns the right value.
4. fixed PNG not recognizing transparent color at desktop.
5. fixed Graphics.drawImage(img,x,y) not using the transparent color of the image in DRAW_SPRITE mode.
6. Animation now clips the image if bigger than the screen.
7. fixed Socket constructor in Win32 and WinCE: it was not launching the appropriate exception when the connection timed out.
8. ZLib: Added argument checking and better exception handling. Updated javadocs.
9. fixed iphone deployer not generating the rep.xml file in the target folder.
10. now Settings.companyInfo is used in iPhone deploy.
11. the iphone icon is now flood-filled with tolerance with the BLACK color. This greatly improves icon appearance in iphone, because in all other platforms the background color is white, but in iphone it is black. The flood-fill is applied if you don't provide a dedicated (prefix)icon60x60.png (prefix is optional).
» added XmlReadablePDBFile(String pdbname, int record) constructor.
» added XmlReadableFile class.
12. now the defaultFontSize used by the HtmlContainer is based on the Font's default size, and not fixed at 12.
13. fixed serial number retrieval on pocket pc 2002 and above.
14. fixed control highlight not working when changing the highlight between two edits.
15. fixed Vm.exec bailing out when args parameter was null on windows.
16. fixed Vm.exec not correctly launching the IExplore(r) program. Should also have failed with other programs.
17. fixed blackberry icons was being rotated 180 degrees.
18. fixed problem of some timers not being trigerred when using Vm.setTime in Java.
19. now Vector accepts being initialized with 0 elements. PDBFile in desktop requires it.
20. fixed ListBox selection overwriting the border at the bottom of the control.
21. changed the way the extraButtonHeight is computed to increase the horizontal button height in a ListBox. Now Grid does the same thing.
22. Renamed BigByteArrayStream to CompressedByteArrayStream. Some methods now throws IOException.
23. fixed CRC32Stream.readBytes returning the wrong number of bytes read.
24. added cache support for Grid.DataSource. When a button of the Grid's ScrollBar was pressed, the getItems was called twice. See Grid.lastStartingRow.
25. changed the implementation of some methods in DataStream to get rid of the static bytes buffer, which may cause problems in multithreading.
26. now tc.Deploy checks if the methods and classes that are being deployed that uses java.lang have a corresponding totalcross.lang class and method.
27. fixed tc.Deploy including inner classes from classes that have a 4D.
28. now you can change the font of all totalcross.ui.dialog boxes (MessageBox, CalendarBox, etc) calling setFont after constructing them.
29. fixed PushButtonGroup setNames not recomputing the rects and widths.
» removed gps.garmin package. Not sure if someone ever used it.
» updated javadocs for totalcross.io and totalcross.net package and subpackages.
» removed static buffers from FTP class so it can be used in different threads.
» removed option to read HttpStream from a serial port.
» removed Socket.refreshBeforeEachRead. It was not being used in TotalCross.
30. now if deploying only for blackberry, the tcz file is no longer generated.
31. fixed loading png at desktop when there's an user-defined text property.
» to improve performance of the virtual machine, changed the format of the constant pool. old TCZ files will not work with this vm, they need to be deployed again.
32. fixed line number shown in the stack trace, which sometimes was incorrect or 0.
» fixed ServerSocket.accept for WinCE, PalmOS and iPhone. (it was returning a closed socket instead of null when the accept call timed out)
» increased ServerSocket.accept default timeout from 1000ms to 10000ms (1s to 10s).
» fixed NetConnector.getLocalHost on iPhone.
33. fixed TagDereferencer.hashCode. This issue was preventing the XmlRpcClient.execute to properly parse the answer, returning always null.
34. now the Grid's allChecked is automatically set if all the checks are enabled.
35. now the default screen when launching in JavaSE is palmhi (320x320).
36. fixed Convert.toString(23.2335,3) not correctly rounding the value up.
37. fixed Registry.getString not working correctly on wince.
. added Registry.list, to list the subkeys of a key.
38. now the gps class gets the right port on windows ce by looking up the registry, using method getWinCEGPSCom.
39. fixed deletion of debugconsole file from the ShowConsole app.
40. fixed resize. rotation and touch-up of multiframe images. the GifAnimatedTest sample shows all changes. still not implemented in BlackBerry
41. fixed transparent color of touch-up images not being computed correctly.
42. added Animation.pauseIfNotVisible to pause the animation if its window is not the topmost one.
43. fixed npe when trying to show a tip for a check column of a Grid.
44. In SOAP, fixed ParseAnswer.isReturn: Comparison is no longer case sensitive.
45. In CompressedByteArrayStream, fixed setMode: Stream was not being reseted when the new mode was the same as the current one.
46. SOAP parser now uses the current character converter (set by Convert.setDefaultConverter), instead of always using the default converter. Now you may change the character converter used by the SOAP parser before executing the request.
47. improved Image.getSmoothScaledInstance by 12x (smooth scaling the alligator.gif animation in 100% decreased from 4140ms to 330ms in a Treo 650).
48. In SOAP, fixed support to namespace with trailing slash. Now we only add a trailing slash if the namespace does not have one already.
49. ResizeRecord.startRecord methods now return void instead of boolean.
» Optimized lots of graphics routines, like drawLineAA, draw vista rect, draw shaded button, draw pie, fill pie. polygon filling decreased 10%
50. fixed tc.Deploy throwing NPE when deploying a file with the tc.jar in the same folder of the file.
. now the classes in tc.jar are in package "z" to prevent problems when running it in a webserver.
51. On JDK, Settings.dataPath was being overwritten if set before the Launcher was initialized.
52. fixed palm.pkg not correctly finding files that were referenced without a full path. You can't add TCZ files to the installer using the palm.pkg file; they must be converted to .pdb using "java tc.Deploy mytczfile.tcz -palm"; then reference the pdb in the palm.pkg file.
53. now if you pass a tcz file to tc.Deploy, it is not deleted when the convertion finishes.
. The Animation control is no longer focus traversable.
54. fixed eraseRect with antialiase not correctly retrieving some color combinations.
55. fixed Grid's selected line when the foreground color was different of black.
56. fixed Chart throwing AIOOBE when the setYAxis was not called.
57. fixed support for deploying files in directories with space in the name.
58. fixed setDefaultFont not correctly updating the font of the tip that shows the "copy/cut/paste" messages.
. added Camera support for Windows CE (works on most devices). See the totalcross.ui.media.Camera class
TotalCross 1.0 beta 4
IMPORTANT Litebase has changed their file formats. Now the .db and .dbh were joined into .db, and the .dbs and .dbb were also joined into .dbo. Given this, you must delete all table files before using the new format, and recreate the tables. Please read the Litebase changelogs.
» fixed Convert.toLong not supporting strings ending with L/l
1 fixed Graphics.drawText not drawing at the correct y position when y is negative
» improved performance of drawText on applet
» fixed iphone event handling when pumpEvents was called (e.g., in a window popup)
» made disabled color of ArrowButton less darker
2. improved Graphics performance on desktop by 20% for 16bpp screens, and on Palm by 9%
3. fixed bug in Settings.platform. Windows Mobile platforms were being reported as PocketPC
» now is possible to specify different back and fore colors for a ListBox. See ListBox.ihtForeColors/ihtBackColors for more information. ComboBox has a method setBackForeItemColors used to assign both members.
4. fixed exceptions thrown from Java code not being filled with the stack trace.
5. fixed ListBox's text drawing over the border when text is scrolled.
6. fixed Vm.getStackTrace not always working at JavaSE
» now when a testcase fails, the output shows the source and line number where the assertion failed.
7. fixed TabbedContainer problem when you clicked in the left/right arrows and the last tab was being selected by mistake
» fixed ComboBox button background on Vista ui style.
» added MenuBar.setAlternativeStyle, to easy the selection of the square+colored style.
» now MenuBar is shaded when using the alternative style in vista mode.
» improved the TestSuite with many features.
8. now is possible to use the arrow keys with the MenuBar even if not in penless mode.
9. now the TabbedContainer tabs in WinCE mode is a bit 3d.
10. fixed TabbedContainer in vista mode not appearing shaded if the background color was equal to the default.
» removed bblo screen from Launcher, because bblo devices are not supported by tc. bbhi is now renamed to bb
11. fixed Edit.CURRENCY not correctly setting the text of 12.34 (was setting to 12.,34)
12. fixed edit's tab/enter support to change to the other edit/multiedit not skipping disabled/hidden/non-editable controls.
13. fixed problem of background being filled in image-only buttons in flat and palm os style
14. fixed inferred application title getting strange values when you concatenate strings in the constructor.
15. now Label is also a marquee (scroll horizontally). See the runMarquee method for details.
» Merged the FlickDragTest and MoreUIGadgets into the UIGadgets sample. Use the menu to select the other tests.
16. fixed button's preferred width/height when the button has only an image, increasing the size in 1 pixel, to have space when it is pressed.
» fixed blackberry icon going upside-down when using bmp files as input (iconxxx.bmp).
» fixed Vm.debug in windows being erased between two runs of the application. now data is appended (as in sw).
» Conduit classes no longer throw RuntimeException on error. Now they return false and log the error in the debug console.
» added Thread.isAlive.
17. renamed Date.getJulianDay to Date.getGregorianDay.
18. added static method Date.isLeapYear.
» removed method Random.getRandom, nextInt should be used instead.
» fixed Convert.toXXX(String) not throwing an exception when an empty string is being converted.
» added Time(int date, int time) constructor
» added IntHashtable.put(Object, int).
» added Convert.fill, used to fill an array of String, Object or primitive types with a single object.
» added Vector.copyInto
» CharacterConverter methods are now native at the device.
» String.indexOf(string, start) is now native.
» now DataStream.writeString allows strings up to 65536 characters
» added Thread.isAlive
» fixed problem on Treo phones which was preventing a phone call to be received until the screen was tapped.
19. fixed ToolTip not being shown when a swap occurs on its paren't container.
20. fixed tip not being shown on Grid when the text is bigger than the column's width
» now DataStream(LE).read/writeChars reads/writes a bunch of chars at once
21. Vector and IntVector constructors no longer accept invalid arguments (size <= 0 or null starting array)
22. Vector.qsort now has no return value
23. Hashtable.put now throws NullPointerException if a null argument is received.
» added Control.onEventFirst to let you decide if onEvent is to be called before or after the listeners.
24. fixed Grid's column width selection not being correctly drawn.
25. fixed arrow keys not working on Edit/MultiEdit.
26. fixed COMMAND support on Edit/MultiEdit (ctrl+c, ctrl+v) for Palm OS.
27. now a ToolTip displays cut/copy/paste/command on Edit/MultiEdit. You can localize the texts by changing the cutStr/copyStr/pasteStr/commandStr members of the Edit class.
» fixed Windows CE not showing the little window that allows the user to change the current input method.
» fixed full screen support on windows ce. Remember that the isFullScreen has to be set in the MainWindow's static initializer.
» renamed Grid.clear to Grid.removeAllElements. The clear method now selects the clearValueInt.
» renamed RadioGroupController.clicked to setSelectedItem.
» changed initUI from protected to public. You may get errors like "Cannot reduce the visibility of the inherited method from Container" if you declared as protected. Just change to public.
» the javadocs of the following totalcross packages and subpackages were completely revised: ui, lang, game, sys, unit, crypto, util, xml.
» greatly decreased the amount of memory needed to run the bytecode converter.
28. we now increase the height of the horizontal buttons of a ListBox if we have enough space. this is specially useful for iPhone
» for better support of screen rotation, added a flag named screenChanged to onBoundsChanged. Also added a new setRect which receives the same flag. If you override this method, be sure to update the signature or it will never be called! The new signature is: public void onBoundsChanged(boolean screenChanged). SW2TC also applies the change for you if you run it. Also, be sure to pass along the flag to called setRect/onBoundsChanged if you override one of these two methods.
29. fixed problem of the ComboBox pop not being correctly repositioned when a screen change occurs.
» removed package totalcross.net.ssl.crypto because it is GPL. The new totalcross.crypto has all the algorithms in this package except TEA.
» removed crypto support from the xmlrpc client.
» fixed problem loading a png from a Stream.
» fixed problem in Conduit with HotSync - Settings.appPath was not being initialized correctly, and the conduit would only work if placed on the same directory of the TCVM.
» Added Hashtable.remove(int hash).
» fixed problem in socket native implementation for palm and iphone - they were blocking for the whole timeout when the connection was gracefuly closed by the remote host.
» HttpStream now uses the content length field from the Http header (if available) to avoid unecessary socket read calls, improving its native performance.
» moved classes CalculatorBox, CalendarBox, ControlBox, FileChooserBox, InputBox, KeyboardBox, MessageBox to package totalcross.ui.dialog. You will have to import totalcross.ui.dialog.* where you use them.
» now ConsoleViewer also shows the console at iPhone.
TotalCross 1.0 beta 3
» fixed foreground and background color inheritance through a container hierarchy.
» added option to win32 to define the window bounds. Format: /scr x,y,width,height. Pass -1 to use the default and -2 to center on screen. Ex: "/scr -2,100,320,-1" will open a window horizontally centered at y=100, w=320, h=320 (default is 0,0,240,320).
» fixed MultiListBox not correctly working on geographical focus.
» fixed win32/wince icons when they were specified using the iconWxH.bmp files instead of the appicon.gif.
» fixed problem on multithreading: before this fix, sometimes a thread could collect another thread that was just starting before it was effectively started. This was preventing one of the typying containers to work, in the ThreadedSocket in beta2 on wince.
» now when the MultiEdit is not editable, its no longer possible to select a block.
» added penless navigation support on ImageControl
» when geographicalFocus and keyboardFocusTraversable are both false, pressing the enter, tab key or the action key in an Edit will move to the next Edit/MultiEdit control in the parent container, respecting the tabOrder. Pressing shift or control moves backwards
» replaced IntHashtable.getFirstKey by getKey(n), where n is the n'st key to return.
» added MultiListBox.setOrderIsImportant to keep track of the order in which the items were selected. Note that this makes the control slower. added unselectFirstWhenMaxIsReached to unselect the first item when the max was reached select all when at max 1 item was selected. this is important because the user must click in the listbox to get focus, and then press ' ' to select them all.
» added Grid.setVisibleLines, which allows the user to specify the Grid's heigh based on the number of lines.
» fixed output folder for tcz library files when /o(utput) was used.
» removed separator parameter from insertLineBreak. \n is now implicit
» removed warning from the converter when a class started with L.
» replaced the Socket.nolinger parameter from a boolean to a string. It now allows other parameters to be specified, specially useful for blackberry.
» fixed penless navigation on Tree control.
» removed Button.createArrowButton. Added class ArrowButton. The advantage is that there's no need to allocate space for the arrow's image. Now the arrow's size is computed based on the width/height; removed ComboBox.extraArrowSize and ScrollBar.extraArrowSize.
» fixed computation of column's width when percentage (negative values) were used in a grid with a check column.
1 fixed Button not being drawn pressed at the first time that a combobox received a pen down. removed method paintButton
» Graphics.drawImage no longer accepts LEFT/TOP/RIGHT/BOTTOM/CENTER. These were removed because this method is a lot used and these options are almost never used.
» removed the enabled parameter grom Graphics.drawArrow. Change the code like this: g.drawArrow(...., enabled, foreColor) -> g.drawArrow(..., enabled ? foreColor : Color.getCursorColor(foreColor)). Otherwise, if you used to pass enabled as true, just remove the true from the parameter list.
» made many small user interface fixes, in ComboBox, ColorList, SpinList, Radio, Button, ScrollBar and TabbedContainer.
» fixed support for float arrays.
» fixed support for MenuBar on geographical focus (TimO)
» fixed PDBFile not correctly resizing records and creating record (in other words, it was not working at all!).
2. fixed problem when using float to concatenate with a string, like this: "float f = 0.1f; String s = "test"+f;" results in calling "StringBuffer.append(F)", but this method does not exist on device, since all floats are automatically converted to double.
» now in win32 Vm.exec searches for the file in the path environment variable and, if not found, searches in the registry for the file's location. So, Vm.exec("wordpad.exe",...) will be correctly located.
» When the program is running and the device is turned off and then on, a KeyEvent.SPECIALKEY_PRESS with key valued SpecialKeys.POWER_ON is sent to the application. This is implemented only on Windows CE and Palm OS, since the other OSes doesn't support such feature.
» Regarding the FTP class:
- Reduced size of static buffer used by sendFile and receiveFile to reduce the chance of timeout.
- Fixed bug in sendFile implementation - it could cause chunks of data to be sent more than once, resulting on a larger and corrupted file on the server.
- Added support for writeTimeout.
- Split list into two methods: list (LIST command) and listNames (NLIST command). The boolean argument "includeFolders" was removed.
- The method setType can now be used to set any transmission type supported by the server, not only ASCII and BINARY.
- Added constants for ASCII, BINARY and EBCDIC to be used with setType.
- Renamed the following functions:
- makeDir -> createDir - to match File.createDir.
- chgDir -> setCurrentDir - Makes sense to name it that way since we have a getCurrentDir.
- rmDir -> removeDir - no need to guess what "rm" stads for.
- close -> forceClose - to make clear this method is not the advised way to end a FTP connection, quit should be used instead.
- Added the following constants: defaultPort, defaultOpenTimeout, defaultReadTimeout, defaultWriteTimeout
- Added some null argument checking for commands that cannot be used without an argument.
- Improved error handling.
- Improved javadocs to better explain the methods usage.
- Documented arguments and result of some methods.
Known Issues:
» Litebase.AllTests.ThreadTest halts on iPhone
» FTP class not fully functional on BlackBerry
|
 |
|