Changes in SuperWaba 2.0 beta 2 . IMPORTANT! install this version in a newly created directory. dont merge it with the old tree. some things were changed! . IMPORTANT: because of some changes of methods names, you must recompile your app to ensure that it will run in this version. . Attention: please read the readme.txt files located in the directories. they have important informations! . new routines to correctly handle unicode chars. thanks to Sean Luke . Convert.toDouble(String) now handles scientific notation strings. . Convert.toString(double) still DONT handles scientific notation. but if you want to format double values greater than +-exp16, use the org/wabavm/palm/ext/Double/DoubleToString.java class. . added again String.valueOf(double/long) and StringBuffer.append(double/long). i dont know what happened. i already had added this. . corrected String.equals that James GuistWite pointed out. . removed STU_USE_STATIC2. no more 2 buffers in stringToUtf. (VM) . corrected bug in normal (non-rle) bitmaps. thanks to Daniel Tauschke who pointed this one. . new Example file: UIGadgets. shrinked Welcome.java to the original size. . new make.bat file in the examples directory, configurable to make easier to compile and build the pdb/prc files. . created Edit.popupKCC() to popup the keyboard/calendar/calculator . corrected some errors at the ListBox class that ym-bezeq pointed out: documentation bug and 2 bugs when the list contains more items than the visible area. . now the make.bat file at palm/device compiles the superwaba classes and generates the pdb file. corrected all make.bat files. . updated desktop classes. now they are compatible with SuperWaba 2.0 . updated desktop/waba/util/Date. they was different. dont know why. . corrected bold fonts not being correctly created. . Graphics class completely changed to use the same native algorithms as the VM instead of the java ones . support for custom fonts in appletviewer. now wysiwyg in the desktop, using fonts from rom! . fixed the width/height of vm CollisionDetect when the source surface was a control or mainwin . added ScanEvent.java, and corrected the Scanner class with the help of Wilbolite. Added a scanner event, TRIGGERED. . changed method addMemo at wextras.io.builtin.Memo to public. otherwise, theres no how to save the memo. or is? . added HashTable.put(Object, Object). Now the Key NO MORE needs to be a String. . the fillpolygon of desktop differs from the one in device. the device's is *very* much faster than the desktop one. but i could not port some annoying c pointers to java, so i used one made in java in the desktop. . corrected Convert.tokenizeString. now it returns the string itself if no tokens exist . support for custom fonts under *any* PalmOS. Please see the waba.fx.Font docs for more information. . created a rundemo.bat at org/wabavm/palm/desktop . waba.util.Math random is modified to match the ones that Sean Luke created. Now it's in pure java. . added Control.getFont(). thanks to Bjoern Knafla for the tip. . corrected ComboBox.setFont. it was not propagating to the pop list. . corrected listbox height when its height was not multiple of its font height. . corrected the command line of the superwaba stub. now theres no more horious databases being created. . corrected also the command line arguments of the superwaba application. now, if you send an argument in the command line, you can get it with the MainWindow.getCommandLine() method. here is the example i tested: Vm.exec("UIGadgets","Hi"+getCommandLine(),0,false); tested using the UIGadgets example. corrected also the Vm.exec; now it can call another superwaba program passing parameters to it. . changed the warp name from Wrp1 to Wrp2 with the hope that this lets waba co-exist with superwaba. (ps: still didnt work) . added extensible libraries to SuperWaba. now SuperWaba will scan all extended libraries installed and automatically use them. to create a SuperWaba Extended Library, there are 2 types of libraries: local and global. The local ones have the same creator id of your application, and thus only your app has access to it; also, it will be deleted with your app (when the user do so). The global ones have the same creator id of SuperWaba (SWAB), and all applications will have access to it; it will be deleted with SuperWaba. to create the library, use the new Warp options /LL (for local) and /LG (for global). In the ext/wextras directory is a wextras.pdb file that is a global library (you can use the buildext.bat file to build it if you modify wextras package) . changed addons directories to ext. just to make sense when creating SWA'X' files, probably stored there. . created a new option at the warp class: /x lets you specify an excluding list of classes or packages. Suppose you create an extension library (or use wextras and install the wextras.pdb), you need to exclude those files from the warp. . corrected the setup.bat and class.bat files at wextras package. although they are using deprecated methods, i wont fix this. also, when using its io, be careful with the same name of extra.io.DataStream and waba.io.DataStream. extra's use some things that i dont want to add to sw (like bufferstream). . bypassed bug when trying to concatenate an array with a string (eg: myArray+""). thanks to Rick Wild to send the fix. thanks to Rick Wild. thanks to Rick Wild. thanks to Rick Wild.... :-) . added ext\aaafontview12 folder. it contains a freeware utility to see and delete the installed fonts in the device. very cool! . changed Button.setPressed to Button.press. . changed Container.getchilds to getChildren. sorry, bad english . added Rect.intersects . changed MainWindow.exit to be final. if you overided this method, change it to onExit() and remove any super.exit calls inside the method or you will get a stack overflow error. . removed hourglass fade. my boss asked: are your batteries getting low? :-) . corrected ListBox. added examples\ListBoxExample. thanks both to Bjoern Knafla. . fixed vm.trace output string. added a new trace point. corrected a wrong class name display. . fixed Window.isVisible. . added Control.requestFocus(). just a handy method. . corrected Control.getBackColor when the control is disabled. . added org/wabavm/palm/desktop/makejar.bat - a cmd line to create a jar file with all SuperWaba files and fonts. . now in the JavaBridge.openInputStream, if youre running from appletviewer, it tries to find the file in 3 ways: 1. from the archive | 2. from the codebase | 3. from the localhost ; if youre running from java.exe, it searches 1. from the appPath (if defined) | 2. from the classpath (but still not inside jar files on classpath). . Note: the appPath only needs to be specified if your image/database files are not accessible by the classpath. . Note: the graphics performance is proposital slow. i think it will be better if you think that your device is faster than the desktop! . Dont forget to set waba.applet.JavaBridge.showMsgs to false if you are deploying an application using the desktop classes! . Note: if you didnt liked the new UI design, you can change it back to "monochrome old palm style". just put these lines at the start of the app's constructor . Color.defaultBackColor = Color.WHITE; // turn color back to the default "white" for all controls . this.setBackColor(Color.WHITE); // turn color back to the default "white" for the current window . waba.sys.Vm.oldStyle = true; . // note that the disabled ui appearance will still continue to happen. . added wgl0.5. renamed directory examples\textarea to examples\wgl. thanks to James Guistwite. added old waba.ui.Tab and TabBar to jgui.ui (james, you forgot this ones!) . added graphics.fillHatchedRect. . fixes by Mr. Tines . corrected the leap error in desktop/waba.io.Catalog . new extra.io.Mail class . Disambiguate DataStream class - now wextras uses the waba.io.DataStream. . removed Label.parseText. using now the Convert.tokenizeString. . corrected bug in the Catalog.close method that was generating 2 warnings in the emulator. the warning depends on which rom you was using: . SuperWaba (2.0beta2) just read from memory location 0x0000002F, causing an address error. . SuperWaba (2.0beta2) has just read directly from an unallocated chunk of memory . corrected bug in _RecClose that was crashing the vm. . corrected bug when a Graphics object was freed and another graphics object was called. the message the emulator was givving is: . SuperWaba (2.0beta2) has just written directly to low memory . Note 2 emulator warnings remain and will not be removed. those are caused of the gray scale and are not bugs. in Debug Options of emulator: . Screen Access . Hardware Register Access. . putted back the beep in TabPanel tab select. but now is a beep and not a tone. . now if theres no memory to handle the ammount of class and object memory desired, it decrease the desired size and try again. . moved object memory allocation to nmpalm_b.c (was palm os specific code). . in palm os 2.0, the memo of Vm.debug grows up to 400 bytes and resets. this is bc palm os 2.0 halts if memo grows too much. the limit for palm os >= 3 is 32000. Bugs . create 2 edits. call the popupkeyboard in one. close popup keyboard. move focus to the other. call popupkeyboard. the last edit will paint over the poped up keyboard. . if using wextras memo, the Vm.debug doesnt work. . when running my VPFinance (www.versapalm.com) under Palm OS 2.0 it crashes PalmEmulator. after spent 8 hours, i could not find the error. it gives a "... has just written directly to memory manager data structures". if i press continue, it gives "during a regular checkup, Poser determined that the dynamic heap chunk with header address 0x0000D5CA got corrupted. The master pointer referenced by the "hOffset" field in the chunk header didnt point back to the chunk". i could not find that chunk under any reference in the vm. any idea to help me? this does not occurs in palm os 3.0.