english português


pesquisar
     
Downloads
  Documentação
  Changelogs
  Suporte
  Compatibilidade









Changelogs / TotalCross 1.2x


TotalCross 1.29

. TotalCross Companion: updated link to android usb driver.
. now /autostart in tc.Deploy allows the application to be started at boot time (android only)
. fixed (again) the problem of an Exception being thrown and the alert being popped up forever
. In ConnectionManager.open: also check the DestId to make sure we are getting an Internet connection. Needed for brazillian carrier "Claro", which doesn't make any other distinction between GPRS, MMS or Video connections.
. ConnectionManager.getLocalHost may no longer return null, as stated in the javadoc.
. fixed NPE when rotating
. fix NPE on scrollToControl
. fix problem when using FILL in a control inside the ScrollContainer and the screen rotates.
. fixed problem when title is empty and the client rect still thinks there's a title
. Fixed Settings.is24Hour not returning the correct value on Android.
. Implemented detection of phone support with RadioDevice.isSupported in WinCE. Please notice Wifi e Bluetooth detection are not supported on WinCE yet!
. IMEI is now required to activate WinCE devices with phone support. Added a specific message for each error.
. Fixed activation on Windows 7.
. fixed problem where File.listFiles would not return all available files in Android.
. LineReader constructor and setStream will no longer attempt to immediately read from the given stream. This often leads to IO errors when handling TCP connections.
. Created new property on MailSession: MailSession.SMTP_FROM This value is used as return path for the send e-mail, instead of MailSession.SMTP_USER.
. HttpStream throws UnknownHostException instead of IllegalArgumentIOException. It has been like this for a long time now.
. Fixed font size when app starts in landscape.


TotalCross 1.28

. fixed NPE when a java version returns like 1.6.0-b105
. fixed F1 and F2 keys on MC3090 devices
. Added new method in Insets to make easier to set the properties
. removed in android a duplicate message in debugconsole.txt when an unhandled exception is thrown
. fix endless loop when an unhandled exception was thrown
. Prevent NPE when the mouse is dragged to outside the window in JavaSE
. now loadClass uses a mutex to prevent problems when two threads are loading classes at the same time
. fixed ClassCastException when posting mouse events
. deprecate useless variables in Settings: maxColors, isHiColor and isColor
. removed Window.fmTitle. fixed client rect area using the text font instead of the title font
. fixed Button not having its bottom/right corner being drawn in device
. Any threads can now update the screen using updateScreen. We removed this in a version ago but we now added it back.
. improved performance of BigDecimal.toPlainString:
. improved algorithm when prepending 0's
. use Convert.toString(x) when radix is 10 instead of
. Convert.toString(x,radix) since the last one is in Java
. benchmark went from 3.5s to 1.5s
. added Convert.toString(int, radix).
. Optimized to use char array instead of StringBuffer.
. Fixed mismatch for negative numbers of what Java returned.
. If radix is 10, use native version
. optimized BigDecimal.add and subtract
. added File.getSize(path) in Android to get the free space of a path
. fixed problem of rTitle.y not being the same of font's height in Window.getClientRect
. changed the garbage collector to decrase memory fragmentation
. Changed CameraTest: copy the image and movie to the card so user can see it in the Media program
. fixed Android's movie: fixed only recording sound
. show the username on the proxy window when activating the vm. Edit's type now set to PASSWORD.
. removed all the trace for file searching at JavaSE. now it shows the trace only if file search fails. this greatly decreases the number of messages when running in JavaSE
. added Edit.getTrimmedLength, faster than getText().trim().length()
. Fixed NPE in Logger.log when the string buffer is empty. This could often show as an uncaught exception when the LitebaseConnection was closed by the finalize.
. Make sure Socket.writeRequest writes everything.
. OutOfMemoryError now extends Error instead of Exception. So, a catch (Exception) will no longer catch OutOfMemoryError. To catch this error, you must explicitly catch it.
. fixed File.flush not really flushing the data on Android/iPhone platforms. This affects also the DebugConsole.txt file and Litebase.
. throw an OutOfMemoryError when finalize tries to allocate something. This avoids other exceptions when running a finalizer.


TotalCross 1.27

Note: TotalCross 1.26 was renamed to 1.27 to keep synchronized with Litebase (2.27).

. now tc.Deploy deletes the original tcz file from the current deployment folder. you can get it at the install/win32 by specifying -win32 as parameter.
. iOS (iPhone) 1.x and 2.x are no longer supported. If you use one of these, upgrade to version 3.
1. added ImageList, which can be used with the ComboBox, as a listbox whose items are images (of same size)
2. added boolean Settings.disableScreenRotation. works only at desktop, but in the future will be implemented in the devices.
3. implemented Settings.romVersion for iPhone 2+.
4. fixed problem in Tree control when the number of items just got above the visible items, and the scrollbar was not correctly set to the right value.
5. fixed Tree.expand not working correctly when it was previously called on a parent that has no children.
6. added Convert.getFileName, getFilePath and getFileNameOnly (which strips the extension).
7. fixed FileChooserBox.select throwing an exception when the path doesn't end with /.
8. added File.copyTo and moveTo methods.
9. now FileChooserBox lists folders before files, and order is now case insensitive.
10. now FileChooserBox shows a volume (drive) list so the user can select a drive. All messages are now public so you can localize them (see msgXXX variables).
11. implemented File.listRoots for WinCE.
. in HttpStream, created method to setup proxy authorization and fixed some issues with proxy usage.
. in SOAP, created method useProxy to allow the usage of SOAP with a proxy.
12. added support for alpha-blending in images. added flag useAlpha (already set when loading png images).
13. fixed GPS(readInterval) not actually setting the readInterval.
14. fixed crash on android when multiple threads were trying to update the screen and the application went to pause and came back.
15. added File.isEmpty; works for files (if has 0 byte) and folders (if contains more than one file/folder). Used to speedup FileChooserBox, specially on win32.
16. added File.chmod, to change permission of a file on linux-only systems.
17. fixed screen animation not completely updating the screen on resolutions like 800x480 in Android.
18. fixed Label.autoSplit not working correctly when a screen rotation was made.
19. On BlackBerry, throw FileNotFoundException instead of IOException whenever the root specified is not available. This will also fix a problem creating images on some devices.
20. now when a Grid.CellController is used to return the backColor, the selected row is painted using an interpolation of the highlightColor and the returned backColor.
21. added SIPBox, which is used in Android when an Edit/MultiEdit is placed below the half of the screen, to show the control inside a window and prevent it from being obscured. You can disable this behaviour using Settings.useSIPBox=false.
22. fixed enter on MultiEdit being shown as an empty character
23. fixed some problems with vertical Slider.
24. now the CameraTest sample lists the possible resolutions that are available in a Windows Mobile device. Fixed selecting the proper resolution natively. Also fixed a problem if an OutOfMemoryError occurs when a picture is being loaded that would lock the file and prevent it from being saved afterwards (in the CameraTest sample). Also fixed problem that would prevent a movie from being recorded after an OutOfMemoryError on this sample.
25. added Control.textShadowColor, which provides text shadow to all controls. Deprecated: Button.hightlightColor, Label.setHighlighted, Label.setHighlightedColor, ProgressBar.highlightColor.
26. fixed ColorChooserBox not correctly displaying the colormap on the device. also improved performance.
27. fixed Intermec barcode driver not activating and deactivating the beam.
28. added Button.relativeToText and now textPosition also accepts RIGHT_OF as parameter. This provides a way to create a menu of buttons with images and horizontally center all texts based on the biggest one.
29. added /kn option to tc.Deploy. It will create the tcz, exe files but not create the cab files. Now the /k option moves the tcz file created to the wince folder (as the /kn does)
30. now Settings.enableWindowTransitionEffects is disabled for all platforms. If you want this back, just set this flag to true.
31. fixed Zip crashing when comment was null.
32. fixed fullscreen problems on Android. Now Android respects the full screen: if its not set (Settings.isFullScreen/fullScreenPlatforms), the task bar appears correctly. Fixed a strange tile bitmap that appeared at the bottom of the window.
33. fixed Grid not correctly computing the preferred height when useHorizontalScrollBar was true and visibleLines was set.
34. now Android's camera use the internal camera api and no longer uses the media gallery to take photos and record movies.
35. fixed AIOOBE when Label's autosplit is choosen but the control's rect was not already set.
36. in HtmlContainer, added support to bgcolor attribute in body tag.
. fixed alignment support for several components in HtmlContainer, also added support for center tag.
37. improved Vm.exec implementation to better handle launching the BlackBerry browser. The url no longer needs to be prefixed with "url&" and the url may now contain the character '&'.
38. fixed implementation of Settings.platform for iPhone and iPad.
39. added support for full screen applications on iPad. Please notice iPad support is still in development and the graphical implementation still needs to be updated.
40. added MessageBox/InputBox/ControlBox.buttonKeys to allow you to map a key to a button (e.g.: map ENTER for Ok and ESCAPE for Cancel buttons).
41. added overflow and underflow check for longs in Convert.toLong().
42. fixed NPE in Tree.remove(node) when the last node was removed.
43. added handy static File.copy/move which receive strings.
44. added FontGenerator /skipBigChars to skip chars with width above W's width; useful for monospaced fonts.
45. added MouseEvent (MOUSE_MOVE, MOUSE_IN, MOUSE_OUT) and MouseListener. used only on devices with a mouse.
46. now the demo message is a MessageBox and no longer an alert. This fixes crashing problems during startup in Android and in iPhone. Changed MainClass interface.
47. now the manual activation is no longer used at the site. There's a dist/samples/activation/ManualActivation program for windows and linux that can be used to select a tcreq.pdb and write back a tcsuc.pdb (can also be passed at commandline); internet access required.
48. fixed ToolTip not correctly being shown in a control inside a Window. ToolTip now works with Mouse events.
49. with the exception of WindowsCE and WinMo, the font size is now based on the screen resolution for all platforms to better support small phones and tablets.
50. MessageBox may now be created with argument allSameWidth to make its button to have the same size. (the size of the largest button)
51. added Label.borderColor, which allows a label to have a border.
52. added Grid.getCheckCount (counts the number of checked lines).
53. added ListContainer.size.
54. Now iphone2 deploy creates Packages.bz2 which allows to create a cydia repository. zip files are now deleted from iphone2+ folder.
55. added DataStream.readUnsignedInt, which reads the next 4 bytes from the stream as an unsigned int value.
56. added ScrollContainer(enableHorizontalScrollBar, enableVerticalScrollBar), which allows you to select which scrollbar to enable. For example, by disabling the horizontal one, you can use RIGHT/CENTER on X and FILL on width for the controls that were added. Improved UIGadgets to show these new possibilities
57. added a way to not build for a platform: use -noXXXX, where XXXX is a platform name. Run tc.Deploy without parameters for more instructions.
58. fixed keyboard not being closed when an Edit looses focus and the Edit's type was not NORMAL and the keyboard type was set to the default one.
59. now we support text edition directly in TotalCross controls on iPhone/iPad!
60. fixed problem in Android 2.2 of application not being closed when MainWindow.exit was called.
61. implemented Vm.setTime for Palm OS.
62. fixed problem when exiting an application when a Lock object was being collected before and a class tries to use it in the finalize method.
63. now if a finalize method throws an Exception, its stack trace is sent to the debug console.
64. added Settings.companyContact to be used in iphone deployment.
65. fixed tc.Deploy not using the alpha-channel of Android's icon if user created it with such. For better appearance on new devices, you should create the PNG files with alpha-channel. Fixed samples icon not appearing nicely on Android.
66. fixed implementation of Vm.getFreeMemory on iPhone.
67. in ListContainer, highlight the whole selected container.
68. Added support to Swype on Android (default InputMethod on Samsung devices)
69. Fixed typing ALT followed by a key on Android (physical keyboard) (now it returns the correct alted character)
70. fixed a crash in the vm if a thread tried to call pumpEvents.
71. fixed application not starting in Android 2.3.x.
72. fixed Slider bar position not being centered when some properties were set.
73. added SpecialKeys.F1-F20, which can be used in devices that have those keys. On Windows Mobile, the F1 and F2 are still mapped to MENU/ESCAPE, on Windows CE, they are mapped to F1/F2.
74. now /scale can specify a number < 1 to make the image smaller. also, the image is now smooth, which may decrease performance but improve scaling appearance.
75. added Settings.iccid, to get the serial number of the gsm chip.



TotalCross 1.25

. important: Vm.getFreeMemory now returns the amount of memory allocated by the vm, not the real device free memory. This amount can increase and decrease during program execution. So, when the program starts, it may display 200Kb free, but as the program runs more memory is allocated and this free memory can be increased.
. improved Android graphics performance in 30%, and iphone in 5%.
. added field Settings.activationId, which is a unique identifier available for registered applications after the TotalCross VM is activated.
. on iPhone 2+, manual installation of applications (using the deb file) should now automatically change the permission to allow the application to be executed.
1. fixed android getting out of resources on some operations, like creating lots of files on sdcard.
2. added AlignedLabelsContainer.childrenFont to set the font of the controls that are added to it. This can be handy if you want to set the labels in bold and the other controls in normal font.
3. Vm.getStackTrace at desktop now returns in the same format of device, without "at" prefix
4. fixed title font of MainWindow not being set when setDefaultFont is called.
5. fixed File.setPos native implementation not matching the java's implementation. Trying to set pos beyond file size was throwing an exception; now the file grows to the desired position.
6. made changes in the bytecode converter to fix try / finally code blocks.
7. nade native some methods of the Convert class to improve performance: zeroPad (both versions), numberOf, dup, spacePad.
8. Grid.aligns is now public, as requested by users.
9. fixed Convert.normalizePath to correctly remove unnecessary consecutive slashes (directory separators).
10. fixed multiple connectivity issues on BlackBerry, especially when using SSL, and implemented connection fall back to always try to establish a network connection automatically.
Detailed information:
  • Implemented transport fall back using the ConnectionManager. That is, if you try to open a socket and the selected transport fails, it will automatically select the next available network transport in a pre-defined priority order;
  • Fixed SSL deadlock when the handshake failed without throwing a TLSException (throwing a timeout exception, for example);
  • Fixed SSL handshake to use the Socket open timeout instead of the default read and write timeouts, since the handshake can take longer to complete sometimes;
  • Fixed possible problems in our non-blocking read implementation for BlackBerry (when count==0).
11. in Properties, created the method dumpKeysValues, which works exactly like the Hashtable implementation, writing the values as strings.
12. implemented the methods hashCode and equals for subclasses of Properties.Value (Str, Int, Double, Boolean and Long).
13. fixed iPhone 2+ deployment on Windows 7.
14. added Settings.debugEvents, which can be used to dump all events received by Window._postEvent.
15. now Vm.alert in Android uses a native dialog box.
16. fixed HttpStream.readLine, which was loosing information that was stored inside the buffer used to fetch the Http headers. Now using LineReader for faster access. Added delimiter field and also readTokens so you can directly read the line into tokens.
17. added -winmo option to tc.Deploy to create an install file only for Windows Mobile, bypassing the legacy platforms.
18. fixed highlight not being undrawn from ComboBox in penless mode when the combo dropdown was closed.
19. added setEndless, which makes a ProgressBar endless (when you don't know the maximum value and want to let the user that you're processing something).
20. now Tree.setSelectedIndex centers the selected item on screen instead of moving it to the top. it also now only changes the offset if the item is not visible.
21. added FileChooserBox.initialPath, which can be used to open a folder when the box is popped.
22. fixed FileChooserBox adding a new node to a wrong location if there's a path with the same name before it.
23. added support for double-click in a FileChooserBox. Just set the defaultButton to index of the button that should be selected when this happens.
24. fixed FileChooserBox x position of collapse/expand button not being correctly computed.
25. added XmlTokenizer.hashCode, to compute the hashcode without having to create a string.
26. now pressing the tab key on MultiEdit moves the focus to another editable (only if Settings.geographicalFocus is false).
27. File.listFiles should now throw a FileNotFoundException if the given path is not found. Some platforms currently throw an IOException in this case.
28. fixed CompressedStream at desktop not returning all bytes you requested.
29. added Tree.useFullWidthOnSelection.
30. added Node.userInt.
31. fixed an issue on iPhone 3.2+ that would cause the VM abort during the application startup.
32. added Button.isSticky, to make the button sticky when pressed (have to click again to depress it). Added Button.isPressed.
33. added ColorChooserBox, with several ways to select a color.
34. fixed Edit not accepting the first key pressed when the text was pre-selected.
35. fixed ComboBox not drawing the selected ColorList item before the listbox was shown.
36. in Multipart, added support for the content type "form-data" with chunked transfer encoding when used by HttpStream.
37. in HttpStream.Options, created the method setContent which receives a MIME multipart to be used as the HTTP POST data.



TotalCross 1.24

1. fixed problem in Logger.dispose that resulted in the Log file not being closed when it was a PDBFile; then if you tried to delete it, an error would be thrown.
2. fixed problem when deploying a tcz file with spaces for Palm target.
3. fixed problem when deploying a file for Android when the deploy was in a drive different of the TotalCross SDK' one.
4. now Graphics.drawRoundGradient draw antialiased round borders.
5. added Time.inc(hours, minutes, seconds).
6. added Hashtable.allowDuplicateKeys.
7. fixed StringBuffer.capacity not returning the correct size.
8. added Vector.addElementsNotNull, which skips null array items.
9. added Date.set, to change the date fields.
10. optimized Date.set(String), now computing value on the fly.
11. fixed GPS for Windows Mobile - the GPS Intermediate Driver doesn't like threads, so timer event is back.
12. added support to String.lastIndexOf(String) and String.lastIndexOf(String, int) on BlackBerry.
13. fixed exception handling when thrown during the application initialization.
14. added support to alternative debugging on BlackBerry through the use of Vm.debug(Vm.ALTERNATIVE_DEBUG); this will alternate between the default debugging method (DebugConsole.txt file) and the alternative debugging method (BlackBerry Event Log).
15. changed Logger.throwing() to write the whole stack trace instead of just calling Exception.toString().
16. added Node.equals to allow the usage of indexOf to find a Node on a Tree.
17. fixed "The parameter is incorrect" error 87 that occurs in some (but not all) Windows Mobile 6.x devices. The error was occuring when a memory block was spanned over two consecutive allocated memory chunks. Most devices allow this, but some not.
18. fixed memory overwrite problem when loading Settings.appSettings on linux/android.
19. fixed bug in Socket when running on BlackBerry 8350i (NEXTEL): It would often throw an IOException when the remote connection was closed, instead of returning -1.
  This bug wasn't observed in any other device, so it isn't clear if this affects only the said device (it may even be related to the iDEN network used by Nextel).
  If you had any Socket or FTP problems with a BlackBerry device and this change fixes your issue, please let us know.
20. fixed bug in ZLibStream for BlackBerry - method close should not close the underlying stream.
21. added ComboBox/ListBox.addWrapping to add and split a big line.
22. fixed bug in iPhone activation.
23. fixed Edit.getTextWithoutMask not returning the correct String when it was fully filled.
24. fixed a problem of an Edit incorrectly being drawn inside a window that does not belong to.
25. added Hashtable.getString, which returns a String instead of an Object.
26. Part.getContent will now always return the enclosing content, regardless of its type.
27. fixed bug in DataContentHandler: method writeTo must be public.



TotalCross 1.23

. TotalCross VM now has a new memory manager, the famous Doug Lea Allocator (dlmalloc). It greatly helped reduce memory fragmentation that allow the program to run without memory problems during much more time. The dlmalloc is widely used in the world, and actually, was used in the old SuperWaba VM.
1. fixed problem in PushButtonGroup in keyboard focus when there are only empty captions.
2. fixed vm crash in Convert.to(primitive type) when the string to be converted had a length above standard sizes.
3. fixed Button.autoRepeat not releasing the button after a pen up.
4. fixed divide by 0 in PieChart that occured when selecting a line at some points.
5. fixed GPS lastFix not using the current time zone information. also now showing lastFix (using the current time) in cellID positioning.
6. blackberry deployment is not supported on linux (read this). Now tc.Deploy ignores -bb on linux
7. added a way to show html/txt/jpeg files using an internal viewer in Android using Vm.exec.
8. fixed String encoding problem on BlackBerry; now, the default char converter is used when creating String objects from byte arrays.
9. fixed big strings in Convert.to[primitive type] throwing IllegalArgumentException instead of the correct InvalidNumberException. Added missing exceptions that were being thrown in C but not in Java.
10. made a new implementation for Convert.replace. The old implementation was very memory-hungry. now, in the native part, we use a single string to create the result. Also checks for some specific situations and use faster routines for them (e.g.: when both strings have a single char). made some improvements in the String's replace / indexOf routines.
11. fixed native font search not matching java's implementation. fixed ArithmeticException when the font for an unicode char was not found.
12. Spacer no longer receives focus on penless devices.
13. WhiteBoard no longer is focusTraversable. This fixes problems in penless devices.
14. fixed win32 font size when screen width is above 640. was 20 now is 9.
15. fixed empty ComboBox no longer loosing the focus when it was closed with the ESCape key.
16. fixed NPE when Edit looses focus but no longer pertains to a Window.
17. fixed PDBFile not correctly saving the header when closing it. This was leading to a big initial delay when the PDBFile was opened again.
18. fixed Camera for BlackBerry not using the fields initialDir and defaultFileName - it would always save as device/foto.jpg
19. fixed behaviour of File.CREATE mode on Linux based platforms.
20. fixed bug in ConnectionManager.close implementation for PalmOS: using this method without first closing all open socket connections would eventually lead to an unrecoverable error, usually causing the device to reset.
. Refactored totalcross.util.zip:
  • Moved the classes CompressedStream, ZLibStream and GZipStream from totalcross.io to totalcross.util.zip
  • Added the classes Checksum, Adler32 and CRC32
  • Added support for arguments strategy and noWrap on ZLib.deflate. ZLib and GZip arguments order changed for consistency. Old methods are now DEPRECATED and will be removed in next version.
  • ZipStream implemented for all platforms
  • Added methods to get/set all fields supported by ZipEntry
21. fixed random application crash when a screen rotation was made or when it comes back from hibernation in Android. Also fixed screen not being repainted properly after such situation.
22. added support for win32.pkg and linux.pkg (files will be copied to target dir).
23. fixed uncaught exception on BlackBerry when trying to instantiate a file using an invalid path (root does not exist).
24. fixed constant pool loading error when the resulting tcz file had no methods.
25. created a way to bypass the NoSuchMethodError that occurs sometimes after an exception is thrown or in the finalizer block.
26. added a gap between the SIP and the top of the screen for Samsung Omnia devices identified as GT-B7300B or GT-I8000L to work around a bug on their touchscreen driver when runninng an application in full screen.
27. fixed detection of Cradle/ActiveSync and Wifi connection for WinCE in ConnectionManager.isAvailable. This was leading to activation problems in Windows CE (non-Windows Mobile) platforms.
28. now the NoSuchMethodError shows the complete method parameter list.
29. in XmlRpcClient, fixed handling of faultString and faultCode.
30. fixed Grid.markAll not correctly resetting the number of marks. This lead to an error that the "all marked" check at row 0 could be work incorrectly.
31. fixed LineReader.readLine and CompressedByteArrayStream.readLine: now it use only \r and \n as line delimiters. Before, it was using all chars in the range 0-31 as line delimiters.
. now LineReader throws a warning in desktop if the buffer passed in the constructor is a BufferedStream. Since LineReader already uses an internal buffer, it nonsense to use BufferedStream with it.
32. Socket.readLine internal structures are no longer static. This prevents concurrent problems in sockets used in threads.
33. added java.lang.StringIndexOutOfBoundsException. Now the device behaves as the desktop and throws this exception when you do new String(byte[], offset, length) and the range is invalid.
34. added BufferedStream and LineReader setStream/getStream methods to preserve memory by reusing the allocated buffers with other streams.
35. changed the way that the Logger logs messages to use less memory. It actually uses less memory if you don't use the DEBUG_CONSOLE on device, but use only another stream. optimized Vm.debug for BlackBerry.
36. added totalcross.io.TokenReader, which extends LineReader but read the lines already tokenized into a String array.
37. added doTrim flag to LineReader (also applies to TokenReader), so the String is trimmed before being returned.
38. Now MessageBox and InputBox shows the buttons vertically in a single column if they don't fit in a single row.
39. added HttpStream.Options.postPrefix and postSuffix, to decrease memory usage. renamed getResponseRequest to writeResponseRequest and remove the last parameter. Added Hashtable.dumpKeysValues to dump them into a StringBuffer
40. added Base64.encode(byte[],len) which returns a byte array instead of a String. Changed some parts of the SDK to use it.
41. fixed detection of BIS connection on BlackBerry. The "official" way doesn't seem to work with Nextel.
42. fixed native implementation of CharacterConverter char2bytes not correctly checking the upper range for valid characters.
43. now UTF8CharacterConverter is native.
44. added Convert.getBytes(StringBuffer) so you no longer need to convert the StringBuffer to a String and then get the bytes. Added Stream.writeBytes(StringBuffer). Added HttpStream.options.postDataSB (StringBuffer)
45. improved the handling of large streams on BinaryContentHandler. This should GREATLY reduce the memory usage when sending e-mails with large file attachments.
46. added Convert.CRLF (String) and Convert.CRLF_BYTES (byte[]). Removed Part.CRLF.
47. now all readLine methods handle \r\n and \n but not \r. This fixes read-ahead problems which were used to check if the next character is a \n.
48. fixed Socket.readLine not correctly handling unicode characters.
49. moved SMTP commands from Message.writeTo to SMTPTransport.sendMessage - Message.writeTo now correctly supports writing to any type of stream.
50. fixed bug in FTP.receiveFile: It would not check for the server response on the control connection after receiving an EOF on the data connection.
51. now if an access denied error occurs during tree mount in FileChooserBox, the folder is skipped instead of breaking the whole operation
52. added Grid.borderGap, which produces a gap in the Grid when CellController.getBackColor is used.
53. now InputBox/MessageBox' button foreground color is the same of the background color. added Color.getBetterContrast, which returns the best color to be used in contrast to an original color. It is used to select the best color for the button.
54. FTP now uses LineReader to process the server responses - greatly improving its performance.
55. SMTPTransport now uses LineReader to read the server responses.
56. fixed Deploy to correctly handle using a tcz file as input.
57. in File, fixed the alias "device/" on iPhone to target the folder "/private/var/mobile".
58. deprecated HttpStream.Options.doGet/doPost. Added httpType which should be HttpStream.GET/POST, which can also be replaced by other http types, such as restful services.


version A

59. fixed String.lastIndexOf(String) when the string has a single character.
60. fixed blackberry deployment of files using relative paths.
61. now if you try to deploy a tcz file in the Blackberry platform, a warning is issued telling that this is not possible (.class files are always required).
62. improved Logger to use less memory. Added Convert.appendTimeStamp (to append a date and time to a StringBuffer without creating a date object); added Time.dump, which dumps a time into a StringBuffer. The idea is to prevent String and other object creations during log.
63. fixed start up time of applications in older BlackBerry models.
64. fixed bug in native implementation of GZip.
65. added Time.update, so you can update the time without having to create a new Time object.


version B

66. bypass a problem in android 2.x: if you exit the app by calling MainWindow.exit, the next time you call the app the vm will still be running. so, in this case, we just wait the vm die and relaunch the app.
67. now Vm.alert repaints all windows when it closes.
68. fixed another bug in native implementation of GZip.


TotalCross 1.22

. removed some deprecated methods:
  • Color.getRGB: change int x = Color.getRGB(y) to int x = y
  • Node.breathFirstVector: use Node.breadthFirstVector
  • Node.children: change Vector v = node.children() to Vector v = node (node IS A vector)
  • Node.childrenArray: use the node itself
  • Node.getAllowsChildren: use the allowsChildren member instead
  • Node.setAllowsChildren: use the allowsChildren member instead
  • Node.getChildCount: use size() instead
  • Node.getUserObject: use the userObject member instead
  • Node.setUserObject: use the userObject member instead
  • Node.isVisited: use the visited member instead
  • Node.setVisited: use the visited member instead
  • TreeModel.getAllowsChildren: use the allowsChildren member instead
  • Grid.drawStripes: just set firstStripeColor and secondStripeColor as you wish
  • Grid.setSelectedRow: use setSelectedIndex instead
  • TabbedContainer.setGaps: use setInsets instead
. deprecated the Vm.attachNative. Added Image.loadFrom.
. several updates on Mail API:
  • fixed a design flaw - totalcross.net.mail.Multipart no longer extends totalcross.net.mail.Part
  • method setContent now checks the type of the received content for consistency
  • fixed Message.replyTo
  • added support for multiple addresses in the header 'From' - removed the public field "from" and added methods to manipulate this header
  • added header support for Part, users may now insert your own headers to the message
  • added the properties mail.smtp.timeout, mail.smtp.connectiontimeout, mail.pop3.timeout and mail.pop3.connectiontimeout to MailSession
  • improved MailSession documentation - added a list of supported properties and with usage description
  • dropped the native support for BlackBerry messaging API (SMTP and POP3 are still supported for all platforms)
1. fixed Camera support on some Windows Mobile devices, where the camera was opened and closed immediately.
2. fixed Grid tooltip not being shown when the current column width was bigger than the text but only part of the column was visible.
3. added sum(int[], from, to).
4. now if you launch a class that implements totalcross.MainClass, the runtime instructions are not displayed.
5. fixed socket.read/write bytes blocking the vm and letting Windows Vista think that the program was dead.
6. added Thread.currentThread to get the current thread object.
7. added support for Intermec barcode scanners.
8. fixed PEN_DRAG_END event sending the x,y in absolute coordinates; now the coords are relative, as all other events.
9. duplicate pen events are now discarted at Java layer.
10. fixed TabbedContainer drawings in Vista mode when the key was pressed, now the feel is more 3d.
. fixed a bug in the deployer that could make an exception object overwrite a register of another object being used. This used to result in "No such method" errors after an exception was raised.
11. fixed event Listener support. The old implementation could result in invalid listener calls. The method removeListener was removed, you must use one of the new removeXXXListener, where xxx is the listener's type. Fixed PenListener's penDrag, penDragEnd and penDragStart, whom now receive a DragEvent instead of a PenEvent (the event was already a DragEvent, only the method's signature was wrong). Fixed PEN_DRAG direction not being set.
12. fixed problem in Android of essential keys (like backspace and enter) events not being posted if there were no special keys being intercepted.
13. fixed ConnectionManager breaking the Android's vm if it was called using invalid parameters.
14. added File.listRoots to list, on Java and Win32, the drives available in a computer.
15. now the Font does not check for an upper limit while loading a font. This allows you to create font files of bigger sizes. If the desired size is not found in the font, it will search DOWN for the nearest size.
16. fixed Unicode fonts outside the 32-255 range not working under Java and Blackberry (other platforms is working fine).
17. default font sizes now range from 6 to 30 (previously was 24). TCFont.tcz now is at 320kb (was 195kb before). This big size was needed to be used in the Nexus One and other big-resolution devices. Fixed computation of the normal font for this device.
18. fixed event PEN_UP not being sent when a flick and drag is posted. now the event is sent at the end of the flickering.
19. fixed Android life cycle. Now after a phone call is received or the screen dims, the application is restored to the state it was left over.
20. fixed problem in semaphore initialization that would lead to a reset in Palm OS (resets Treo 650, but does not reset on Centro).
21. now the Window.dragThreshold is 3 for non-palm os devices. this fixes the "virtual keyboard don't appears" problem in MultiEdit and Edit. The problem was happening because in some unaccurate devices, when you press the pen, it also results in a DRAG event, which would let the control think that you're trying to select a text.
22. fixed ENTER key not working in MultiEdit.
23. fixed Graphics.drawText incorrectly drawing strings with characters not available in the current font.
24. fixed problem in File.createDir method definition that would lead to register corruption in device.
25. fixed a potential bug in File.getSize when used to get the amount of free space available on a file system on Windows OS systems.
. created method RemoteFile.exec, which can be used to remotely execute commands on a connected device. Supported only for WinCE devices.
. files opened using the File class on JDK (1.4 and later) are now marked for exclusive access and locked for read and write operations. Shared access was only allowed on JDK, and this behaviour was often related to bugs regarding the Litebase on JDK. This feature is not supported by JDK versions prior to 1.4, therefore shared access of files is still possible on these versions.
26. fixed scrollbar not scrolling in Palm OS when the bar was dragged.
27. added Grid.columnResizeMargin, to increase the width of the column resizing area.
28. added some features on Android:
  • onMinimize/onRestore, to be used when the application pauses and resumes. MainWindow.minimize can achieve the same effect of pressing the home key.
  • Phone.dial
  • Vm.exec
  • Sound.tone and Sound.setEnabled
  • GPS
  • Camera
29. fixed Linux deploying problems on not finding the path of some java tools.
30. deprecated Settings.isMinimized, since similar results can be achieved by monitoring onMinimize/onRestore call back listeners.
31. added support to MainWindow.minimize and MainWindow.restore on WinCE and Win32, as well as their corresponding callback listeners onMinimize/onRestore.
32. added some JDK 1.1 compliant methods and fields to the java.lang.Thread class:
  • Thread.MIN_PRIORITY, Thread.NORM_PRIORITY and Thread.MAX_PRIORITY
  • New Thread constructors which can receive the thread name
  • Thread.getName/Thread.setName
  • Thread.getPriority
33. fixed "file is no longer open" error that could happen when trying to operate a file on BlackBerry devices.
34. now the GPS class can also find the location based on the CELLID. The accuracy can vary from 50m to 30km. To work, you must have an internet connection available to be able to do a query in a public site that maps the CELLID to a lattitute/longitude coordinate. Works on Windows Mobile, Android and Blackberry.
35. added a special key combination to kill unresponsive applications on the BlackBerry (LEFT_CONVENIENCE_KEY + END).
36. on touchscreen BlackBerry devices, make sure the focused Edit or MultiEdit control does not get overlapped by the virtual keyboard.
37. fixed keypad behavior on touchscreen BlackBerry devices (now all the possible layouts are correctly recognized: suretype, multitap and full keyboard).
38. fixed Grid selection being painted incorrectly when CellController was used.
39. fixed MultiEdit having the virtual keyboard being closed when a text selection was made.
40. fixed BinaryContentHandler to handle unknown types using toString().getBytes().
41. fixed Edit.getTextWithoutMask throwing AIOOBE when the text has less charactes than the mask.
42. fixed Radio.leftJustify not correctly placing the text at left.
43. added totalcross.ui.Spacer, used to add a space between controls. People used to use Label for this, but now we added a specific control for it.
44. added totalcross.ui.dialog.TimeBox, used to select a time using a numeric pad. Supports am/pm.
45. ResizeRecord.close no longer closes the PDBFile it is attached to. This prevents a problem when saving two images consecutively using Image.saveTo, where the second image was not able to be saved because the first ResizeRecord closed the PDBFile when it got finalized.
. added Time.isValid.
46. added Button.autoRepeat, which enables automatic repeatition of the PRESSED event. now Calendar month and year buttons are auto-repeat, as also the TabbedContainer scroll buttons.
47. Now in Calendar up and down keys increment the year, and left/right keys increment the month.
48. Disabled Button's border is now more faded (just like the text).
49. implemented minimize/restore for windows platforms.
50. fixed Radio vertical alignment for Vista ui style.
51. added Vm.vibrate(ms). Supported on JavaSE (simulated), Palm OS, Android, BlackBerry and WinCE. Added Settings.vibrateMessageBox to vibrate the MessageBox when it appears (you must set it to true).
52. fixed Convert.getDistancePoint2Rect not correctly calculating distances. This will also fix focus issues that affected finger touch devices. removed Convert.getDistanceLineSegment2Point.
53. fixed Android not being able to delete an empty PDB file.
54. fixed Breakout sample having its background erased once it starts. Now if you set Window.transparentBackground to true, the screen is not blanked when it is painted. This was the cause of the problem.
55. added Grid.lineScroll to scroll the grid a line at a time.
56. in totalcross.io.device.bluetooth.UUID, fixed length of UUID created from a short value


TotalCross 1.21

. fixed linux vm dependencies
. fixed documentation not going on the sdk
. fixed android vm not going on the sdk
. fixed slowness on Windows Mobile when Vm.setAutoOff was called
. fixed new gps and ZipStream not finding native methods
. improved blackberry File/Litebase performance in OS 5



TotalCross 1.2

Version 1.2a:
. fixed win32 vm not included in sdk
. fixed activation problem due to buggy Base64 class
. iphone vm no longer dumps memory allocations
. fixed litebase dependency on linux
. fixed litebase including old files
67. fixed setAutoOff not working on windows mobile.


. TotalCross ported to Android (1.6 and newer).
. TotalCross ported to Linux
. Font sizes now range from 6 to 24. TCFont.tcz is now 40Kb bigger (190K)
. added support for zip compression and cabinet handling through the class ZipStream.
0.ATTENTION: JDK 1.6.0_6 has a problem with the synchronized keyword. If you're using this JDK version, update to a newer version. Besides what we said in version 1.14 about problems in more recent JDK versions, you can now safely use a newer version.
1. fixed Button growing at each setRect(x,y,PREFERRED,PREFERRED) when border was set to BORDER_GRAY_IMAGE
2. fixed ToolTip position change between first and second display (more visibly when there's a font size change).
. now FTP.progressInfo is public.
3. fixed Vm.disableDebug not working under the tcvm (worked only on JavaSE and BlackBerry).
4. fixed Vector.addElements changing the count to a wrong value.
5. fixed Label's height being changed when something different of PREFERRED was specified for the height.
6. added Grid.markAll, which can be used to mark or unmark all checks in the grid.
7. fixed problem of the vm not exitting when running as non-UI app (using totalcross.MainClass).
8. now MainWindow.getCommandLine is static.
9. added Convert.tokenizeArguments (to be used with getCommandLine).
10. on GPS, fixed values displayed on labels speed and direction.
. implemented GPS for BlackBerry devices that work in autonomous mode (GPS is embedded on device). Assisted and Cellsite modes are not supported yet.
If you're not sure if your device supports autonomous GPS, check the following article: List of BlackBerry models and their corresponding GPS capabilities
We had to make some minor changes on the GPS class though, basically there are a couple methods that now throws IOException.
11.on Camera for BlackBerry, fixed video control being initialized twice and layout of camera window.
. now MainWindow.exit is static.
12. TabbedContainer now supports resizeHeight: it resizes all containers's height and itself.
13. Tree's Node now supports changing the fore and back colors.
14. fixed tree not correctly repainting after a node is added.
15. added expandClickingOnText which lets the user collapse/expand clicking only on the +- buttons (when set to false).
. Completely revised the Tree/Node classes; made many improvements and optimizations. added TreeModel.addNode. Deprecated many methods (will be removed in TotalCross 1.17)
16. added TabbedContainer.getActiveContainer.
17. fixed bug with HttpStream connection over BIS transport on BlackBerry.
18. fixed path of LitebaseLib.tcz on Win32. Applications should now able to run from anywhere, as long as the Litebase and TotalCross home paths are set.
19. added AlignedLabelsContainer() and setLabels method, so you can set the labels after the constructor.
20. added support for the synchronized keyword, with the following restrictions: synchronized classes and methods are not allowed and are IGNORED; you must use the synchronized(object) syntax, and the only object type allowed is totalcross.util.concurrent.Lock (no other object types can be syncrhonized; trying to do so will make the VM throw a RuntimeException).
21. fixed stack trace shown in exceptions when there's a finally block without a catch.
22. now when the ToolTip is displayed, the control no longer receives the PenUp event. This way, the control is not "pressed" when the tooltip is displayed.
23. fixed problem of Grid's sort not working unless you click inside the title.
24. fixed windows 32 problem of the same desktop computer being activated more than once. All users that activated a win32 computer MUST ACTIVATE it again. Contact us, providing the registration key you pass to tc.Deploy /r, so we can put back the win32 licenses in your account.
25. fixed persistence of PDBFile on BlackBerry.
26. fixed PDBFile.getRecordAttributes not returning the attributes of the specified record on BlackBerry.
27. fixed File.setTime on iPhone, Android and Linux. When setting a file time, the attribute month was always off by 1.
28. fixed bug in PDBFile.deleteRecord on BlackBerry. It may no longer corrupt the file after deleting its last record.
. In File - Updated documentation of getAttributes, setAttributes, getTime and setTime: Listed any platform specific behaviour.
29. fixed bug in PDBFile: opening files in CREATE mode would reset the PDB attributes.
30. improved PDBFIle implementation: any records left locked when the file is closed are automatically released.
31. added constants Settings.PLATFORM_NAME, with all possible values that can be used with the Settings.platform.
32. added Settings.fingerTouch, that defines platforms that the touchscreen is used MOSTLY with the finger.
33. fixed Vector.addElements inserting elements one position higher than it should.
34. added method addElements to IntVector.
35. added convenience method Grid.add(String[][]).
36. fixed PushButtonGroup not working correct when transparentBackground was true. thanks to Greg Ouzounian.
37. fixed title's bounds that opens the menu when the screen is rotated.
38. fixed screen flickering when menubar was closed and changed.
39. fixed MultiEdit's highlight overwritting MenuBar when it pops up.
40. added FTP.ProgressInformation.informSize. Thanks to Kalil Maciel, now we are able to retrieve the file's size and you can now compute the transfer's percentage.
41. made some optimization on the user interface to avoid unneeded update screens. Window.repaintActiveWindows no longer receive a parameter.
42. now setPressColor also works with border3D button type.
43. added Window.fadeOtherWindows, Window.fadeValue, and Graphics.fadeScreen to make other non-toplevel windows appear faded. The totalcross.ui.dialog windows have fadeOtherWindows set to UIColors.fadeDialogs (which defaults to true).
44. added Event.clearQueue, to clear the event queue of a particular event type. Used to speedup window panning
45. fixed String.equalsIgnoreCase throwing NPE instead of returning false if the comparing string is null (as in JDK.
46. now when a timer is removed, its target is made null. Its a way to find if a timer has been removed.
47. added Container.nextTransitionEffect/transitionEffect to show Container and Window using a closing/opening effect.
48. added Settings.touchTolerance to help users that navigate in finger-touch devices, like Android and Storm.
49. now if a virtual sip is open and the user press the ENTER key in an Edit, the sip is closed.
50. Launcher now throws an Error if an invalid parameter is sent via command line. The parameters are now dumped to the console.
51. fixed GPS.getWinCEGPSCom not working in some WM devices. Thanks to Renato Dervelan.
52. added Label.getLineCount, getLinesPerPage and scrollTo, so you can use a scrollbar to scroll the Label.
54. fixed Grid not posting SELECTED event when the row is not enabled. The event will be posted, but the check will not be allowed to be set.
55. now Radio button's text color is drawn using the foreground color in vista ui style
56. added AlignedLabelsContainer.foreColors, so you can specify the foreground color of each label.
57. added Convert.append(StringBuffer, char, count), to greatly decrease the amount of memory needed to insert characters into a StringBuffer.
58. changed EscapeHtml.escape to ignore character of value 0, because it is not a valid value.
59. added Settings.fullScreenPlatforms, as a way to determine which platforms will have the isFullScreen applied.
60. fixed png transparent color not working in 8-bpp png images.
61. Window.rTitle is now protected. You can change it to define the rectangle that is used to drag the window (override the paintTitle method)
62. added IntHashtable.incrementValue.
. added two new methods to the abstract class RandomAccessStream: setPos(int, int) and getPos().
. updated the classes File and ByteArrayStream with the implementation of the new methods inherited from RandomAccessStream.
63. fixed deployer not using the jar file name as the name of the main class.
64. added ComboBox.unpop, to close the ComboBoxDropDown.
65. fixed default transparent color on desktop/blackberry. in device was WHITE, in desktop was -1 (none). Now in desktop is WHITE too.
66. Improvements on the GPS implementation:
  . Improved GPS implementation for devices with Windows Mobile 5 or Windows CE 6 and later. It should now be faster, especially on TTFF (Time To First Fix). This new implementation does not use PortConnector and is always preferred if the GPS instance is created without a PortConnector instance.
  . Messages received through PortConnector are now verified and discarded if the format is invalid. Which improves the accuracy of the received information and greatly reduces the incidence of exceptions.
  . Added new field satellites, which has the number of satellites currently in view.



Copyright© 2002-2012 SuperWaba11 usuáriosmapa do site