• Order of the Butterfly
    Order of the Butterfly
    ChrisH
    Posts: 167 from 2009/11/26
    Today (14th July 2013) I have released a new PortablE beta of my modernised AmigaE programming language. The highlights are:
    * Added dynamic lists to the GUI module.
    * Added three programs demonstrating dynamic lists: Stacker, SimpleGameLauncher, and DirList.
    * Added support for embedding native GUI elements (e.g. MUI objects), so people can work-around any cases where PortablE's GUI system is lacking something they need.
    * Added support for dropping files on GUI windows.
    * Added support for GUI windows saving/loading their size & position.
    * The GUI now auto-activates the first text input item, so you can start typing straight away.
    * It now tells the user when the NList or TextEditor MUI classes are required but missing.
    * Windows: Fixed installation failing to create the required Assignments.txt file.
    * Removed source<>destination restriction for StrCopy(), RightStr() & MidStr(). (I think Chris Y once requested this!)
    * Fixed stereo sounds being silent for their second half.
    * Fixed various other bugs.

    Also note that I have updated & recompiled all the examples.

    The full list of changes:
    * Added the parameter "startPos=0" to the procedure Val(). This removes the need for pointer arithmetic.
    * Added the 'std/pBox' module, to provide a simple but very flexible way of storing various types of data, without needing separate getter/setter methods for all of them.
    * In 'std/cPath', added the RenamePath() procedure, so you don't need to open a file anymore to just rename it.
    * In 'std/cPath', added the ReadLink() procedure, so it is now possible to get the target of a soft link when the target doesn't exist.
    * In 'std/cGui', added support for dynamic lists (see cGuiWindow.beginList(), cGuiList, etc), plus three example programs.
    * In 'std/cGui', added support for embedding native GUI elements (e.g. MUI objects), so people can work-around any cases where PortablE's GUI system is lacking something they need.
    * In 'std/cGui', added initAllowDropFiles()/etc & getFileDropped()/etc methods to the cGuiWindow class, so GUIs now allow files to be dropped on them.
    * In 'std/cGui', added initSaveID()/etc methods to the cGuiWindow class, so GUIs can now automatically save/load their position & size.
    * In 'std/cGui', cGuiButton now listens to initUseLeastSpace().
    * In 'std/cGui', now activates the first text input item (e.g. cGuiString), so you can start typing straight away.
    * In 'std/cGui', now generates an event when you leave a text input item without pressing Enter.
    * In 'std/cGui', now tells the user that the NList or TextEditor classes are missing.
    * In 'std/cGui', added the queryExtra() method to the cGuiItem class, and made it do something useful for the cGuiList class.
    * In 'std/cGui', added the "doNotClear" parameter to the methods getCloseRequest() & getQuitRequest(). And calling those methods will now cause their info to be forgotten unless you supply TRUE for doNotClear.
    * In 'std/cGui', window close requests are now queued, so there is no-longer any chance of them being lost in a race condition.
    * In 'std/cPath', renamed Exists() to ExistsPath(), Delete() to DeletePath(), and DeleteDir() to DeleteDirPath(). But the old procedures still work for the moment...
    * In 'std/cGfxSprites', the setDataBox() & getDataBox() methods of cGfxSprite REPLACE the old set/getDataPtr() methods, and their usage is slightly different. This should be completely future-proof, so no more changes will be needed.
    * BUG: Windows: Fixed installation failing to create the required Assignments.txt file.
    * BUG: C++: The 'CSH/pAmiga_fakeNewProcess' module (and thus cGfx/cMusic/cSnd) would not work in some situations. Now properly fixed by adding special support to PortablE.
    * BUG: C++: For FOR & some other statements, got rid of the (possibly harmless) GCC warning 'comparison is always true/false due to limited range of data type'.
    * BUG: Fixed obfuscation of FUNCtions randomly marking it's call() method as being an ORPHAN.
    * BUG: Removed source<>destination restriction for StrCopy(), RightStr() & MidStr(). Fixed the type of RightStr()'s eString2 parameter (should have been STRING but was ARRAY OF CHAR for some reason).
    * BUG: In 'std/cGfx', fixed the timer continuously generating bogus events, if stopTimer() was called without the last timer event being handled.
    * BUG: In 'std/cGfxSprites', the findSpriteAt() method of cGfxStack could wrongly still return the (undocumented) background sprite.
    * BUG: In 'std/cSnd', fixed stereo sounds being silent for their second half.
    * BUG: In 'std/cGui', fixed string objects (like cGuiString) not generating an event when setState() was used on them.
    * BUG: In 'std/cGui', fixed string & number objects generating events despite their contents not changing (in several different circumstances).
    * BUG: In 'std/cGui', fixed cGuiStringBox.getState() not returning anything after the GUI is built.
    * BUG: In 'std/cGui', fixed getState() returning NILS instead of an empty string for cGuiString/etc, if setState() had never been called.
    * BUG: In 'std/cGui', fixed crash if program exited before App was built.
    * BUG: In 'std/pShell', Amiga; fixed ShellArgs() to return the exact supplied program parameters, rather than stripping quotes & extra spaces. (Unfortunately still has the old behaviour on Windows.)

    For the full list of changes & additional details, please see the documentation's History chapter.
    Author of the PortablE programming language.
    It is pitch black. You are likely to be eaten by a grue...
  • »14.07.13 - 19:30
    Profile Visit Website